有关socket的问题!(客户端/服务器)

问题描述:

我不明白为什么它使用两个不同的socket请帮助我谢谢。有关socket的问题!(客户端/服务器)

客户端将请求通过从服务器套接字9123 的文件时,服务器将然后将文件通过上 插座8123,其每一个客户会听,一旦请求文件发送到客户端。

+0

是'它'是一种产品吗?是'它'是你的代码吗? – 2010-01-20 08:53:13

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

你需要解释它比这更好的...

  • 并在每个客户端侦听UDP端口8123和服务器应该立刻与所有沟通 - 如果是这样,这是一个UDP套接字和您无法保证客户端收到该文件。

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