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

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

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

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

        
/// 
        
/// 請求序列
        
///  
        public string seq;
        
/// 
        
/// 用戶帳號
        
///  
        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)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产亚洲人成a在线v网站 | 波多野结衣一区二区 | 欧美亚洲一区二区三区 | 欧美日韩国产一区二区三区不卡 | 午夜手机在线视频 | 成人一级片在线观看 | 久久一本 | 国产精品av久久久久久毛片 | 国产欧美精品一区二区 | 日韩成人高清在线 | 人人种亚洲| 久久出精品 | 95国产精品| 亚洲一区在线播放 | 狠狠色综合欧美激情 | 欧美一二区 | 国产精品久久国产精品 | 怡红院怡春院一级毛片 | 日韩一区二区三区视频 | 欧美一级二级三级视频 | 在线观看国产视频 | 成人在线电影在线观看 | 日韩在线播放一区 | 久久久久久久一区 | 97精品超碰一区二区三区 | 免费成人高清在线视频 | 欧美日韩免费在线 | 欧美成人猛片aaaaaaa | 视频一二三区 | www日韩高清| 成人在线网 | 成人在线免费视频 | 521av网站| 在线国产一区二区三区 | 亚洲区视频 | 亚洲精品日日夜夜 | 国产资源在线播放 | 一区二区三区在线免费观看 | 尤物视频在线免费观看 | 亚洲色图婷婷 | 色爱综合网 |