方案:当在一个插座中选择“检测活动”时,我的代码中会发生以下标准。
伪代码:
after select i am checking in
if stdin f descriptor
do something
else if listening file descriptor
newFDescriptor = accept sockFDescriptor, (struct sockaddr *) &clientAddress, &clientAddressSize
FD_SET (new file descriptor)
send connected response to peer
// data from connected peer
else {
receive data
}
但是每次我从一个对等点向另一个点发送一些东西时,它都会与新的文件描述符创建新的连接。即它不能识别已为该对等点创建的文件描述符中的数据。对等体 1 到对等体 2(创建新文件描述符) 对等体 1 到对等体 2(再次新连接) 它正在接收侦听文件描述符上的所有数据。