利用原始套接字,为什么接收到的数据是刚刚发出去的那份数据???
功能:
我用原始套接字,编写了一个简单的通信程序,从Source端发送一条消息到Destination端。
接收数据时采用Select 模式,对套接字设置了如下选项:接收数据超时;也设置了RIO_RCVALL。
问题:
当D端运行
Recv ----这个是我对recvfrom的封装
Send ----这个是我对sendto的封装
Recv ----问题出在这儿!
此时,并不能接收到发送端发送的数据包,相反,其接收到的内容却是前一次Send函数发出的数据包的内容。请问这是为什么?应该如何解决???
另外,在调用WSASocket时,我最后一个参数选为WSA_FLAG_OVERLAPPED,是否有影响?