Java 关于插座的问题!(客户端/服务器)
我不明白为什么它使用两个不同的插座请帮助我谢谢 客户端将通过套接字9123请求文件 然后,服务器将通过服务器上的套接字8123将文件发送到客户端Java 关于插座的问题!(客户端/服务器),java,sockets,Java,Sockets,我不明白为什么它使用两个不同的插座请帮助我谢谢 客户端将通过套接字9123请求文件 然后,服务器将通过服务器上的套接字8123将文件发送到客户端 每个客户端请求一个文件后都会侦听它。TCP连接位于两个端口号之间。客户端有一个端口号用于发送回复,服务器有一个端口用于客户端发送请求。您需要更好地解释它 是否每个客户端都在UDP端口8123上侦听,并且服务器应该一次与所有客户端通信?如果是,则这是一个UDP套接字,并且您不能保证客户端收到该文件 是否每个客户端都在TCP端口8123上侦听(因此服务器
每个客户端请求一个文件后都会侦听它。TCP连接位于两个端口号之间。客户端有一个端口号用于发送回复,服务器有一个端口用于客户端发送请求。您需要更好地解释它
- 是否每个客户端都在UDP端口8123上侦听,并且服务器应该一次与所有客户端通信?如果是,则这是一个UDP套接字,并且您不能保证客户端收到该文件
- 是否每个客户端都在TCP端口8123上侦听(因此服务器必须再次连接到首先请求该文件的客户端?)-这不是一个很好的主意,因为您已经建立了客户端-服务器连接(在端口9123上-从技术上讲,一旦您
服务器中的连接,通信从9123移动到开放的高端端口)-您只需生成一个线程来发送文件,服务器套接字就可以继续接受来自其他客户端的连接。如果您必须在一个端口上接收请求并在另一个端口上发送文件(为什么?),只要在收到请求后创建一个新的套接字,将其连接到客户端,并通过它发送文件,但您确实需要考虑为什么要这样实现。accept())