当前位置: 技术问答>linux和unix
Linux网络编程中 发送的消息无法正常显示
来源: 互联网 发布时间:2017-03-25
本文导语: 问题描述如题 截图如下: 服务端能正常显示 客户端接收到的服务端的消息无法正常显示: 这是服务端本来需要发送的消息: | 代码不打出来了吗 memset(buf,0x00, sizeof(buf); 这样buf所占大小的内存区...
问题描述如题
截图如下:
服务端能正常显示
客户端接收到的服务端的消息无法正常显示:
这是服务端本来需要发送的消息:
截图如下:
服务端能正常显示
客户端接收到的服务端的消息无法正常显示:
这是服务端本来需要发送的消息:
|
代码不打出来了吗
memset(buf,0x00, sizeof(buf);
这样buf所占大小的内存区域都会是0了, 发送不超过buf大小的内容就好了
memset(buf,0x00, sizeof(buf);
这样buf所占大小的内存区域都会是0了, 发送不超过buf大小的内容就好了
|
遇到问题应该第一时间怀疑自己的代码,难道你觉得的是系统的bug被你发现了? wireshark抓包分析其中的数据是不是正确的,如果是正确的,那么说明是你客户端的问题。如果数据不正确就是服务器的问题。
|
这个代码我和很多同学测试了一下。服务器运行后,客户端本地连接没问题。但是服务器发送的数据无法回送到客户端。调适了一下,服务端与客户端连接上了,服务端数据也发出去了,但是客户端就是没有收到。代码也没有找出问题。客户端收到的数据Num=0.用数组接受每一位也都是0。
您提到的 memset(); 也使用了。但是因为用的vi编辑器,没办法调适问题的原因。。
|
wireshark就是个抓包工具,用法很简单呀
用wireshark或者tcpdump也可以知道服务器根本就没发出去过
同时还可以检查下send的返回值
if(send(xxxxxxxxx)
用wireshark或者tcpdump也可以知道服务器根本就没发出去过
同时还可以检查下send的返回值
if(send(xxxxxxxxx)