免费注册 查看新帖 |

Chinaunix

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

socket recv问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-27 16:36 |只看该作者 |倒序浏览
  1. int process_chat_request(int client_socket, char * protocol_buffer,  char * receive_buffer)
  2. {
  3.         ....
  4.         //发送一条信息到客服端
  5.         send(client_socket, receive_buffer, send_message_plen, 0);
  6.        
  7.         //接收客服
  8.         int length = recv(client_socket, &chat_buf, 300, 0);

  9.         //收完之后,我打印protocol_buffer与 receive_buffer的值 ,已不是在原来传过来的值。

  10. }
复制代码
请问这是为什么?

论坛徽章:
0
2 [报告]
发表于 2010-10-27 17:34 |只看该作者
receive_buffer在哪?

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
3 [报告]
发表于 2010-10-27 17:39 |只看该作者
protocol_buffer不清楚,receive_buffer的话难道指针移动了?

论坛徽章:
0
4 [报告]
发表于 2010-10-27 17:55 |只看该作者
我都没有对receive_buffer,protocol_buffer做任何操作。
只是发给客服端而以。

加了const也是不行。也会变化

论坛徽章:
2
IT运维版块每日发帖之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之福建
日期:2016-08-08 13:37:03
5 [报告]
发表于 2010-10-28 00:06 |只看该作者
首先,如果把send和recv注释掉还出问题,恐怕就是别的地方的错了。请把具体代码贴出来。
否则,查一下chat_buf的定义,可能是recv时溢出了。sizeof(chat_buf)>300?

论坛徽章:
0
6 [报告]
发表于 2010-10-28 09:40 |只看该作者
首先,如果把send和recv注释掉还出问题,恐怕就是别的地方的错了。请把具体代码贴出来。
否则,查一下chat ...
shenyue_sam 发表于 2010-10-28 00:06



    这几个问题全部正常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP