BBS.ChinaUnix.net
首页 | 新闻 | Linux | AIX | 博客 | 论坛 | 存储 | 网络 | 人才 | 知识库 | 资料 | 读书 | 手册 | 精华 | 下载 | 空间     
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


recv如何接收每一行。
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
wangrenjun12   帅哥
骑士



UID:548010
注册:2007-4-5
最后登录: 2008-06-23
帖子:54
精华:0

可用积分:49 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
1楼 发表于 2008-5-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] 臭蛋[0]

__________________________________

vim很变态很强大
Emacs更变态更强大

sed很变态很强大
awk更变态更强大
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
5毛党党员
精灵



UID:677490
注册:2008-3-17
最后登录: 2008-07-25
帖子:211
精华:0

可用积分:253 (白手起家)
信誉积分:0
专家积分:2 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
2楼 发表于 2008-5-15 14:05 
也许是客户端每次会吧那两条都接收了。。。

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



您对本贴的看法:鲜花[0] 臭蛋[0]
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
wangrenjun12   帅哥
骑士



UID:548010
注册:2007-4-5
最后登录: 2008-06-23
帖子:54
精华:0

可用积分:49 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
3楼 发表于 2008-5-15 14:16 
我把客户端每一行都打印出来,客户端没有问题的



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

vim很变态很强大
Emacs更变态更强大

sed很变态很强大
awk更变态更强大
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
5毛党党员
精灵



UID:677490
注册:2008-3-17
最后登录: 2008-07-25
帖子:211
精华:0

可用积分:253 (白手起家)
信誉积分:0
专家积分:2 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
4楼 发表于 2008-5-15 15:38 
我的意思是逐个字符的打出recvbuf ,不是以字符串形式



您对本贴的看法:鲜花[0] 臭蛋[0]
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
版主 flw   帅哥
广告杀手-法王
侠客



UID:14893
注册:2002-8-12
最后登录: 2008-07-25
帖子:19570
精华:10

可用积分:14501 (大富大贵)
信誉积分:925
专家积分:105 (本版)

状态:...在线...

[个人空间] [短信] [博客]


顶部
5楼 发表于 2008-5-15 15:44 
我再强调一次:
注意语义!
你发送的到底是字符串,还是二进制数据?



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

data Maybe a = Nothing
             | Just a

---
如何知道一个变量是什么类型?
如何知道分配的内存有多大?
如何知道 select 的 fd_set 里哪个句柄是无效的?
如何知道指针是不是有效的?
如何通过文件句柄得到文件名?
……
如何知道我昨晚把袜子脱哪儿了?
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
版主 JohnBull   帅哥
版主-法师



UID:17373
注册:2002-8-27
最后登录: 2008-07-24
帖子:5763
精华:2

可用积分:5704 (富足长乐)
信誉积分:100
专家积分:10 (本版)

来自:北京朝阳
状态:...离线...

[个人空间] [短信] [博客]


顶部
6楼 发表于 2008-5-15 15:57 
流式套接字......
用fprintf发,用fgets收!
发方别忘了fflush。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

关于捐款,本人反对使用道德暴力!

捐了的那是仗义,没捐的也是天理。

Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
版主 flw   帅哥
广告杀手-法王
侠客



UID:14893
注册:2002-8-12
最后登录: 2008-07-25
帖子:19570
精华:10

可用积分:14501 (大富大贵)
信誉积分:925
专家积分:105 (本版)

状态:...在线...

[个人空间] [短信] [博客]


顶部
7楼 发表于 2008-5-15 15:59 


QUOTE:
原帖由 JohnBull 于 2008-5-15 15:57 发表
流式套接字......
用fprintf发,用fgets收!
发方别忘了fflush。

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



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

data Maybe a = Nothing
             | Just a

---
如何知道一个变量是什么类型?
如何知道分配的内存有多大?
如何知道 select 的 fd_set 里哪个句柄是无效的?
如何知道指针是不是有效的?
如何通过文件句柄得到文件名?
……
如何知道我昨晚把袜子脱哪儿了?
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
wangrenjun12   帅哥
骑士



UID:548010
注册:2007-4-5
最后登录: 2008-06-23
帖子:54
精华:0

可用积分:49 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
8楼 发表于 2008-5-15 17:37 
谢谢各位的指点,

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



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

vim很变态很强大
Emacs更变态更强大

sed很变态很强大
awk更变态更强大
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
lanying_wzw
精灵王




UID:151974
注册:2004-4-15
最后登录: 2008-07-23
帖子:254
精华:0

可用积分:268 (白手起家)
信誉积分:100
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
9楼 发表于 2008-5-15 20:02 
看程序应该没什么问题,你的LENGTH是多少,会不会小于你输入数据的长度?



您对本贴的看法:鲜花[0] 臭蛋[0]
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本
ideawu
天使



UID:350143
注册:2005-12-15
最后登录: 2008-07-25
帖子:1327
精华:0

可用积分:965 (稍有积蓄)
信誉积分:100
专家积分:10 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
10楼 发表于 2008-5-15 20:56 
你在哪sleep(1)? 如果方便, 最好贴上完整的程序, 并描述问题的重现方法.

[ 本帖最后由 ideawu 于 2008-5-15 21:00 编辑 ]



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

my resume
Web安全应用现状有奖调查+Web安全应急处理沙龙+100积分 | 致电800-858-2903,了解DELL如何为你量身订制笔记本

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.059344 second(s), 4 queries , Gzip enabled