标签: c++ tcp network-programming
如果非阻塞TCP套接字的源端口和目标端口不一致(对于p2p应用程序),如何指定套接字将Connect()的目标端口?
答案 0 :(得分:1)
在P2P的情况下,客户端首先连接到torrent以获得对等体(播种器)列表以及在对等体处打开的端口号。然后,想要下载的系统将使用跟踪器提供的地址和端口连接到对等端。
对等体不是限制性的(通常)并且接受来自任何源地址或ip的连接
答案 1 :(得分:1)
指定连接的目标端口是在传递给connect() - 调用的sockadder-struct中完成的。由于您没有指定您正在使用的操作系统,因此很难提供具体示例。但是,对于Linux和Windows,通常使用getaddrinfo()加载sockaddr-struct。提供了一个很好的Linux示例here,而MS在其官方文档中有一个example。