大家好,今天小编来为大家解答socket粘包解决方案这个问题,socket粘包解决办法很多人还不知道,现在让我们一起来看看吧!
本文目录
socket粘包解决方案
解决方法如下:
1、发送方和接收方规定固定大小的缓冲区,也就是发送和接收都使用固定大小的byte[]数组长度,当字符长度不够时使用空字符弥补;
2、在TCP协议的基础上封装一层数据请求协议,既将数据包封装成数据头(存储数据正文大小)+数据正文的形式,这样在服务端就可以知道每个数据包的具体长度了,知道了发送数据的具体边界之后,就可以解决粘包的问题了;
3、以特殊的字符结尾,比如以“\n”结尾,这样我们就知道结束字符,从而避免了粘包问题(推荐解决方案)。
socket开发的问题,同步好还是异步好
用异步,不要搞什么线程。在异步上用线程是画蛇添足。至于第二个问题,那是TCP的“粘包”现象,同步和异步都会出现这样的情况,还有一种情况是一个包被分成两个或更多个包被发送,这些都是在实际编程中要注意并处理的!
关于socket粘包解决方案和socket粘包解决办法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.oku6.com/11/87402.html