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

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

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

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

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

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

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

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

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

 

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

        可下载源码参考:https://download.****.net/download/a873744779/10801218