服务器/客户端使用套接字编程

时间:2010-01-18 17:16:58

标签: sockets

假设我有一个服务器套接字侦听端口号5010.当客户端尝试使用connect()API连接到此服务器套接字时,服务器接受accept()API中的套接字连接。

accept()API为服务器/客户端连接返回一个新套接字。现在,使用这个新创建的套接字完成服务器和客户端之间的所有数据传输数据传输是否发生在同一个端口5010上。如果不是,那么在由于accept()API返回新套接字时如何选择端口?

1 个答案:

答案 0 :(得分:1)

服务器和客户端套接字之间的连接由元组(serverAddress, serverPort, clientAddress, clientPort)标识。服务器地址和服务器端口始终保持不变(显然)。客户端分配(半)随机“源”端口以避免冲突,即使重新使用相同的地址(例如,当同一台机器上有多个客户端时)。