socket开发之通讯协议及处理

socket开发之通讯协议及处理

ID:16730731

大小:166.49 KB

页数:81页

时间:2018-08-24

socket开发之通讯协议及处理_第1页
socket开发之通讯协议及处理_第2页
socket开发之通讯协议及处理_第3页
socket开发之通讯协议及处理_第4页
socket开发之通讯协议及处理_第5页
资源描述:

《socket开发之通讯协议及处理》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Socket开发之通讯协议及处理 在Socket应用开发中,还有一个话题是讨论的比较多的,那就是数据接收后如何处理的问题。这也是一个令刚接触Socket开发的人很头疼的问题。因为Socket的TCP通讯中有一个“粘包”的现象,既:大多数时候发送端多次发送的小数据包会被连在一起被接收端同时接收到,多个小包被组成一个大包被接收。有时候一个大数据包又会被拆成多个小数据包发送。这样就存在一个将数据包拆分和重新组合的问题。那么如何去处理这个问题呢?这就是我今天要讲的通讯协议。所谓的协议就是通讯双方协商并制定好要传送的数据的结构与格式。

2、并按制定好的格式去组合与分析数据。从而使数据得以被准确的理解和处理。那么我们如何去制定通讯协议呢?很简单,就是指定数据中各个字节所代表的意义。比如说:第一位代表封包头,第二位代表封类型,第三、四位代表封包的数据长度。然后后面是实际的数据内容。如下面这个例子:01010600010fef875634协议类别协议代码数据长度实际数据前面三部分称之为封包头,它的长度是固定的,第四部分是封包数据,它的长度是不固定的,由第三部分标识其长度。因为我们的协议将用在TCP中,所以我没有加入校验位。原因是TCP可以保证数据的完整性。校验位是没

3、有必要存在的。接下来我们要为这个数据封包声明一个类来封装它:Code 1    public class Message 2    { 3        private byte _class; 4        private byte _flag; 5        private int _size; 6        private byte[] _content; 7otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirect

4、orofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,Di

5、rectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand 8        public byte[] Content 9        {10            get { return _content; }11            set { _content = value; }12        }1314        public int Size15    

6、    {16            get { return _size; }17            set { _size = value; }18        }1920        public byte Flag21        {22            get { return _flag; }23            set { _flag = value; }24        }2526        public byte Class27        {28            get

7、 { return _class; }29            set { _class = value; }30        }3132        public Message()33        {3435        }3637        public Message(byte @class, byte flag, byte[] content)38        {39            _class = @class;40            _flag = flag;41          

8、  _size = content.Length;42            _content = content;43        }44otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirec

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。