Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

各位,这段udp程序写的对么?

3 views
Skip to first unread message

nfx

unread,
Apr 16, 2014, 7:54:06 PM4/16/14
to
各位,这段udp程序写的对么?这个已经是很成熟的代码了。
1:为什么“TotalLen += sendlen;”之后,指针没有响应的增加?
2:为什么“usleep(50000);”,为什么在发送结束后需要加一个延时?

SINT32
Net_Server_SendData (SINT32 Socket, SINT8 * SendBuf, SINT32 MsgLen,
BOOL Close)
{
SINT32 TotalLen = 0;
while (TotalLen < MsgLen)
{
SINT32 sendlen = send (Socket, SendBuf, MsgLen - TotalLen, 0);
printf("%s %s %d, send %d byte to client;\n",
__FILE__ , __FUNCTION__, __LINE__, sendlen);fflush(stdout);
if (sendlen < 0)
{
perror ("send");
Net_Server_CloseSocket (Socket);
return -1;
}
TotalLen += sendlen;
}
if (Close)
{
Net_Server_CloseSocket (Socket);
}
usleep(50000);
return TotalLen;
}
--

[m [33m※ 来源:·水木社区 http://www.newsmth.net·[FROM: 113.140.30.*] [m

宁为玉碎,实则瓦全

unread,
Apr 17, 2014, 9:46:17 AM4/17/14
to
Sleep没什么意义。
TotalLen没增加,是否sendlen<0?
【 在 perlman (nfx) 的大作中提到: 】
: 标 题: 各位,这段udp程序写的对么?
: 发信站: 水木社区 (Thu Apr 17 07:54:06 2014), 转信
:
: 各位,这段udp程序写的对么?这个已经是很成熟的代码了。
--

[m [1;32m※ 来源:·水木社区 newsmth.net·[FROM: 124.205.8.*] [m
0 new messages