免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: pineapple1175
打印 上一主题 下一主题

一个网络编程中send的菜鸟问题 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-12-26 22:27 |只看该作者
真感谢大家的回复,受益非浅啊,谢谢谢谢

论坛徽章:
0
22 [报告]
发表于 2006-12-26 22:33 |只看该作者
原帖由 linyue 于 2006-12-26 20:30 发表
我晕,你server的程序里那个getbuf函数里有个while循环不停recv,而你用的又是阻塞模式,所以你收到第一个字符串"hellp"以后,recv又阻塞在while那儿了,当然看上去就跟没受到东西一样了,其实已经收到 ...


哈哈,其实我原本来是没用fflush的因为刚看了书说用这函数能把缓冲里的数据送到kernal里面,一开始以为数据没真正发送出去,于是就用了,至于warning当时看到了,但没心情卡管那个了,^_^

论坛徽章:
0
23 [报告]
发表于 2006-12-26 22:42 |只看该作者
原帖由 linyue 于 2006-12-26 20:30 发表
我晕,你server的程序里那个getbuf函数里有个while循环不停recv,而你用的又是阻塞模式,所以你收到第一个字符串"hellp"以后,recv又阻塞在while那儿了,当然看上去就跟没受到东西一样了,其实已经收到 ...


用了recv第一次接收了5个字节之后第二次还会接收时返回值还会>0吗??如果是的话就代表还有数据可以接收啊?这和blocking状态有关??

论坛徽章:
0
24 [报告]
发表于 2006-12-27 10:46 |只看该作者
原帖由 pineapple1175 于 2006-12-26 22:26 发表
才出去看了两个小时的书就有这么多回帖了,真是感激啊,再这之前的另外一个帖子上发了半天到现在也没人来理我
我去试了一下把while循环去掉直接send了一下就直接用recv接收就能正常运行了,不过apue2上面也明确说 ...



接着往下看那本书
后面应该就讲了如何读取或者发送一段期望长度的数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP