免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3765 | 回复: 11
打印 上一主题 下一主题

recv如何接收每一行。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-15 14:01 |只看该作者 |倒序浏览
今天看了前几天的老程序。问题还没解决。

  连续发送多行字符串,如果我输入的客户端有多行需要发送
  (1)每发送一行就sleep(1),那么服务器端可以把每行都接收
  (2)如果我客户端不用sleep(1),这服务器端只能隔行接收。
我要如何处理比较好?
(现在我客户端每行发送两次,服务器可以正常接收)
客户端如下:
while(1)
     43     {
     44         printf("Please input information to send\n");
     45         scanf("%s",&sendbuf);
     46         printf("your iunput information is %s. \n",sendbuf);
     47        if(strcmp(sendbuf,"exit")==0)
     48        {
     49                 close(sockfd);
     50                 return (0);
     51        }
     52              send(sockfd,sendbuf,LENGTH,0);
     53     }



服务器端如下
while(strcmp(recvbuf,"exit")!=0)
     76   {
     77         size=recv(nsockfd,recvbuf,LENGTH,0);
     78         if(size==0)
     79          exit (-1);
     80   printf ("OK: \t Receviced string is: %s \n", recvbuf);
   }

论坛徽章:
0
2 [报告]
发表于 2008-05-15 14:05 |只看该作者
也许是客户端每次会吧那两条都接收了。。。

如果用循环直接打出全部的recvbuf, 可能清楚一些

论坛徽章:
0
3 [报告]
发表于 2008-05-15 14:16 |只看该作者
我把客户端每一行都打印出来,客户端没有问题的

论坛徽章:
0
4 [报告]
发表于 2008-05-15 15:38 |只看该作者
我的意思是逐个字符的打出recvbuf ,不是以字符串形式

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2008-05-15 15:44 |只看该作者
我再强调一次:
注意语义!
你发送的到底是字符串,还是二进制数据?

论坛徽章:
0
6 [报告]
发表于 2008-05-15 15:57 |只看该作者
流式套接字......
用fprintf发,用fgets收!
发方别忘了fflush。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2008-05-15 15:59 |只看该作者
原帖由 JohnBull 于 2008-5-15 15:57 发表
流式套接字......
用fprintf发,用fgets收!
发方别忘了fflush。

就知道你要这么说。所以特意没说,留给你了。

论坛徽章:
0
8 [报告]
发表于 2008-05-15 17:37 |只看该作者
谢谢各位的指点,

我用流式套接字,原本打算用字符串发送的

论坛徽章:
0
9 [报告]
发表于 2008-05-15 20:02 |只看该作者
看程序应该没什么问题,你的LENGTH是多少,会不会小于你输入数据的长度?

论坛徽章:
0
10 [报告]
发表于 2008-05-15 20:56 |只看该作者
你在哪sleep(1)? 如果方便, 最好贴上完整的程序, 并描述问题的重现方法.

[ 本帖最后由 ideawu 于 2008-5-15 21:00 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP