Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于插座的问题!(客户端/服务器)_Java_Sockets - Fatal编程技术网

Java 关于插座的问题!(客户端/服务器)

Java 关于插座的问题!(客户端/服务器),java,sockets,Java,Sockets,我不明白为什么它使用两个不同的插座请帮助我谢谢 客户端将通过套接字9123请求文件 然后,服务器将通过服务器上的套接字8123将文件发送到客户端 每个客户端请求一个文件后都会侦听它。TCP连接位于两个端口号之间。客户端有一个端口号用于发送回复,服务器有一个端口用于客户端发送请求。您需要更好地解释它 是否每个客户端都在UDP端口8123上侦听,并且服务器应该一次与所有客户端通信?如果是,则这是一个UDP套接字,并且您不能保证客户端收到该文件 是否每个客户端都在TCP端口8123上侦听(因此服务器

我不明白为什么它使用两个不同的插座请帮助我谢谢

客户端将通过套接字9123请求文件 然后,服务器将通过服务器上的套接字8123将文件发送到客户端
每个客户端请求一个文件后都会侦听它。

TCP连接位于两个端口号之间。客户端有一个端口号用于发送回复,服务器有一个端口用于客户端发送请求。

您需要更好地解释它

  • 是否每个客户端都在UDP端口8123上侦听,并且服务器应该一次与所有客户端通信?如果是,则这是一个UDP套接字,并且您不能保证客户端收到该文件

  • 是否每个客户端都在TCP端口8123上侦听(因此服务器必须再次连接到首先请求该文件的客户端?)-这不是一个很好的主意,因为您已经建立了客户端-服务器连接(在端口9123上-从技术上讲,一旦您
    accept())
    服务器中的连接,通信从9123移动到开放的高端端口)-您只需生成一个线程来发送文件,服务器套接字就可以继续接受来自其他客户端的连接。如果您必须在一个端口上接收请求并在另一个端口上发送文件(为什么?),只要在收到请求后创建一个新的套接字,将其连接到客户端,并通过它发送文件,但您确实需要考虑为什么要这样实现。


它是一种产品吗?“它”是你的代码吗?