C语言中SOCKET关于send和recv的问题,不懂别乱贴

2025-03-10 14:01:23
推荐回答(3个)
回答1:

说实在的这个问题非常简单,不过你习惯太差,你把send和recv的返回值看看不就明白了!
前提是你描述的都是事实。
否则还可能有Socket问题。
如果是linux,strace一下就知道什么问题了。
Windows的也很简单。

前面的明显不正确,send如果是TCP,(UDP 不应该用send),send返回时,消息已经发出了。

回答2:

原因,Send后,立即关闭了连接。这个时候数据没有发送出去。关闭的时候,服务器recv直接返回0

回答3:

你在send后加个延时试试,可能是你还没发送完毕就关掉了连接的原因