个人对socket通信的理解分享给大家,希望能帮到大家,互相提高

本文深入探讨了在网络通信中,为避免数据粘包现象,采用数据封包和解包技术的重要性及其实现方法。通过定义特定的数据格式,确保数据能够正确无误地被接收方解析,有效解决了数据传输过程中的粘包问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        刚开始接触socket通信时,对它真的一字半解的,也是知道整懂它了,基本上广域网数据通信等基本都能解决...但就是对它不怎么了解,也可能能力有限. 

        今天写这个,也是希望像我这样对socket产生很多疑問的人有所帮助.有错误的地方请帮忙指出来,有更好的建议请多多指点,非常感谢.

        对于socket的连接,发送,断开就不说了.主要还是谈谈数据的封包解包吧!

        一开始接触有时大家都会问,发数据,接收数据,为什么要封包,然后要解包呢等等问题,对于这,主要来自于发送过程中会产生粘包问题,如:你发两个包:1--->123456,2---->123456,但接收到的可能第一次接收1234561,第二次接收23456等等,并不是按你发的规则去接收的数据,这样你在使用数据时就会出错,因此就有了封包解包来解决这个问题.

        那问题又来了,如何封包,又如何解包呢?又要定义什么样的规则去处理呢?

        度娘上有很多方法,在数据上加头标识,加尾标识,还有加数据长度等等.这里我只讲一种,会了一种,其它都是大同小异,基本上都轻松搞定!

        数据格式: 数据长度的长度(1个字节) + 数据长度+数据

 

        我自认为自己的语言表达不太好,在加上刚开始和大家以这种方法分享,各方面有所不足,有不懂的可以留言讨论.解析就是按这个规则解析就成..后续再完善!

        可下载源码参考:https://download.youkuaiyun.com/download/a873744779/10801218

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A 壹零贰肆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值