C语言下socket的recvfrom函数问题
这是我第一个socket程序,小白我。现在编一个RUDP,用stopandwait如果server发了等ACK,client收了发ACK现在测试的终端会随机丢包,检验我的...
这是我第一个socket程序,小白我。
现在编一个RUDP,用stop and wait
如果server发了等ACK,client收了发ACK
现在测试的终端会随机丢包,检验我的RUDP。
如果client收到的包不是要的 那就不做出回应而是不停地call recvfrom直到收到序数正确的包,server方面则是发一个文件等ACK,如果2秒内没有ACK就重新发送。我编的在没有丢包的情况下运行正常,但是有个问题。
我想问的是:server端,如果收不到client的ACK,他的recvfrom会不会卡住运行不下去?如果会卡住的话,怎么样给它的recvfrom一个时限,以退出来进行下一个发送-接收状态?还是说C本身定义的recvfrom就是有个timeout,到了这个timeout,recvfrom自动返回-1?
求助!!!!!!! 展开
现在编一个RUDP,用stop and wait
如果server发了等ACK,client收了发ACK
现在测试的终端会随机丢包,检验我的RUDP。
如果client收到的包不是要的 那就不做出回应而是不停地call recvfrom直到收到序数正确的包,server方面则是发一个文件等ACK,如果2秒内没有ACK就重新发送。我编的在没有丢包的情况下运行正常,但是有个问题。
我想问的是:server端,如果收不到client的ACK,他的recvfrom会不会卡住运行不下去?如果会卡住的话,怎么样给它的recvfrom一个时限,以退出来进行下一个发送-接收状态?还是说C本身定义的recvfrom就是有个timeout,到了这个timeout,recvfrom自动返回-1?
求助!!!!!!! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询