网络编程时一次read的数据会不会是两条客户端的指令

Taochao 发布于 2015/05/20 14:52
阅读 162
收藏 0
网络编程时一次read的数据会不会是两条客户端的指令,应该怎么去处理这种情况啊,刚看网络编程,不太能理解怎么去解析这些数据。
加载中
0
平安北京

多线程的,不会读两条客户端的

Taochao
Taochao
回复 @平安北京 : 一个包的文件有没有可能被分片啊, 我试着发送一个定义的结构体过去,4096大小,然后每次都把整个结构体发过去,那边每次读一个结构体。 然后我发现那边的第一次select后读完后回到select又会返回再读一次,是不是被分成两次发了,第一次读了结构提的一部分,我就用read读的。 我试着换成了1024大小就没这现象了。
平安北京
回复 @Taochao : 增加包头,包头包含长度、命令号等,按照长度去读取
Taochao
Taochao
我意思是前后发了两条消息给服务器,会不会被服务器一次读了。 或者我发一条消息,太大被服务器两次读取了,这种情况
0
songtzu
songtzu
完了,看到select,就知道这项目的网络模块没戏了。
Taochao
Taochao
学习阶段~~,很多不懂。。。
0
IT熊猫
IT熊猫
百度搜索下:网络传输粘包问题
Taochao
Taochao
好的 谢谢了
返回顶部
顶部