linux中的socket编程的问题,recv函数收到的全是0

用打是TCP编程。用tcp连接,发送一个1k多的数据发送端发送每次分200字节用send函数发送。接收端也是每次200字节的接收。但是只有第一个包是正确的。从第二次开始,... 用打是TCP编程。
用tcp连接,发送一个1k多的数据
发送端发送每次分200字节用send函数发送。
接收端也是每次200字节的接收。但是只有第一个包是正确的。从第二次开始,接收到的数据全部为0.
抓包显示,收发正常。但是,分开send的数据被整合成一个很大的包一起发送。
展开
 我来答
jiejieup
2013-12-31 · TA获得超过339个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:243万
展开全部
send后,操作系统会决定是不是马山发包还是继续等待看看还有别的send,然后把他们一起打成一个包来发送。所以你recv是不知道要接收几个包的。
日向野惠爱cVe83
2014-01-01 · TA获得超过582个赞
知道小有建树答主
回答量:783
采纳率:0%
帮助的人:485万
展开全部
一个是缓冲区大小的问题。阻塞了

2边不一致吧! 建议你找一个成熟的 发送函数 看别人怎么发的!!

不要一味的 研究自己的 多看别人的!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4c36fef
2013-12-31 · TA获得超过583个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:181万
展开全部
建议你把代码贴出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式