linux socket send函数问题
服务端给客户端发送消息,无论怎么send客户端就是收不到,但是recv好使,服务端能收到客户端的消息。客户端是安卓的,服务端是C写的,在Linux上跑求大神看下.源码地址...
服务端给客户端发送消息,无论怎么send客户端就是收不到,但是recv好使,服务端能收到客户端的消息。
客户端是安卓的,服务端是C写的,在Linux上跑
求大神看下.
源码地址:http://pan.baidu.com/s/1sj6uwHn 展开
客户端是安卓的,服务端是C写的,在Linux上跑
求大神看下.
源码地址:http://pan.baidu.com/s/1sj6uwHn 展开
1个回答
展开全部
SockSrv.c错了,
服务端发送数据的字符串长度都乱写,长度是多少就填多少,不要乱填,乱填会读取字符串后面的内存里面的数据的
write(connfd,"test",4);
len = send(connfd,"test\n",5,0);
服务端发送数据的字符串长度都乱写,长度是多少就填多少,不要乱填,乱填会读取字符串后面的内存里面的数据的
write(connfd,"test",4);
len = send(connfd,"test\n",5,0);
追问
真的是这样也,谢指点。
不过如果只写len = send(connfd,"test",4,0);
客户端还是显示不出来。
经过反复测试 所发送的内容最后加上换行符就能显示,看了一下客户端代码应该是因为getmessages = in.readLine() 客户端读取一行,所以需要换行符,应该是这个原因。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询