【发布时间】:2011-03-10 07:58:40
【问题描述】:
我在 C 中使用 sendto 函数得到了奇怪的结果。(LINUX) 我要做的是实现一种可靠的 UDP 方案。
下面提供的代码的 sn-p 是计时器的一部分,它在丢包时到期,并向进程发送消息以重新传输该数据包。
我遇到的奇怪问题是在传输大文件时说... >300KB 下面给出的代码完美运行(即执行其他部分) 但是在发送了一定数量的数据包之后......它执行了then部分。!!!
这很奇怪,因为代码适用于大约 250 个数据包,但使用 251 个数据包 卡布姆!!!
n = sendto(sockfd, &(forwardPeer->id), sizeof(forwardPeer->id), 0, (struct sockaddr*)&tcpd_addr, sizeof(tcpd_addr));
if(n<0)
printf("\n error sending to tcpdc");
else
printf("\n message sent to tcpdc");
请帮忙!!!! 提前致谢
【问题讨论】:
-
输出
strerror(errno)以防出错,这样你就知道发生了什么。 -
Error:: Bad file descriptor I used Perror...
-
可靠不可靠数据报协议 - 嗯....
-
试图改变宇宙规则:P
-
错误发送 msg 到 tcpdc 未知错误 134514723 使用 strerror