中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

Socket開發(fā)探秘--數(shù)據(jù)封包和拆包

在上篇《Socket開發(fā)探秘--基類及公共類的定義 》中介紹過,所有受到的數(shù)據(jù)包,經(jīng)過系統(tǒng)的預(yù)處理后,都會(huì)得到一個(gè)PreData的數(shù)據(jù)實(shí)體,該實(shí)體包含了協(xié)議頭、協(xié)議內(nèi)容和所屬用戶的ID。PreData是定義了一個(gè)標(biāo)準(zhǔn)的協(xié)議數(shù)據(jù)格式,包含了協(xié)議關(guān)鍵字、協(xié)議內(nèi)容、用戶標(biāo)識(shí)的內(nèi)容。
前面說了,我們數(shù)據(jù)是通過實(shí)體類作為載體的,我們知道,收到的Socket數(shù)據(jù)經(jīng)過粗略的解析后,就是PreData類型的數(shù)據(jù),這個(gè)是通用的數(shù)據(jù)格式,我們需要進(jìn)一步處理才能轉(zhuǎn)化為所能認(rèn)識(shí)的數(shù)據(jù)對象(實(shí)體類對象),同樣,我們發(fā)送數(shù)據(jù)的時(shí)候,內(nèi)容部分肯定是按照一定協(xié)議規(guī)則串聯(lián)起來的數(shù)據(jù),那么我們就需要把實(shí)體轉(zhuǎn)化為發(fā)送的數(shù)據(jù)格式。綜上所述,我們通過實(shí)體類,必須實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和讀取的轉(zhuǎn)換。

代碼    /// 
    
/// 測試數(shù)據(jù)的實(shí)體類信息
    
///  
    public class TestDataRequest
    {
        
#region MyRegion

        
/// 
        
/// 請求序列
        
///  
        public string seq;
        
/// 
        
/// 用戶帳號(hào)
        
///  
        public string userid;
        
/// 
        
/// 用戶密碼
        
///  
        public string psw;

        
#endregion

        
public TestDataRequest(string seq, string userid, string psw)
        {
            
this.seq = seq;
            
this.userid = userid;
            
this.psw = psw;
        }
        
public TestDataRequest()
        {
        }

        
/// 
        
/// 轉(zhuǎn)換Socket接收到的信息為對象信息
        
/// 
        
/// Socket接收到的信息
        public TestDataRequest(string data)
        {
            
string[] dataArray = null;
            dataArray 
= NETStringUtil.UnPack(data);
            
if (dataArray != null && dataArray.Length > 0)
            {
                TestDataRequest newAnswerData 
= new TestDataRequest();
                
int i = 0;
                
this.seq = dataArray[i++];
                
this.userid = dataArray[i++];
                
this.psw = dataArray[i++];
            } 
        }

        
/// 
        
/// 轉(zhuǎn)換對象為Socket發(fā)送格式的字符串
        
/// 
        
/// 
        public override string ToString()
        {
            
string data = "";
            data 
= this.seq + "|" + this.userid + "|" + this.psw.ToString();
            data 
= NETStringUtil.PackSend(DataTypeKey.TestDataRequest, data);
            
return data;
        }

NET技術(shù)Socket開發(fā)探秘--數(shù)據(jù)封包和拆包,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 香蕉视频在线播放 | 在线看片国产精品 | 亚洲高清在线 | 夜夜操操操 | av黄色免费在线观看 | 在线免费观看视频黄 | 农村妇女毛片精品久久久 | a级片网站| 久草在线 | 在线视频一区二区三区 | 日韩欧美中文字幕在线视频 | 蜜桃传媒一区二区 | 日韩在线小视频 | 久久久精 | 亚洲免费网址 | 一区二区在线不卡 | 九一在线观看 | 亚洲综合精品 | 古典武侠第一页久久777 | 欧美日韩在线免费 | 激情 亚洲 | 国产不卡一区 | 久久噜噜噜精品国产亚洲综合 | 国产一区二区三区 | 国产精品99久久免费观看 | 性高湖久久久久久久久 | 日韩电影一区 | 麻豆视频在线免费看 | 国产一区二区在线观看视频 | 日韩精品一区二区不卡 | 欧美一区二区网站 | 成人在线网 | 国产精品夜夜春夜夜爽久久电影 | 亚洲国产成人精 | 久久国产高清视频 | 91资源在线| 激情91 | 国产一卡二卡三卡 | 久久精品亚洲精品国产欧美kt∨ | 天天色天天射天天干 | 国产大片一区 |