天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Socket開發探秘--基類及公共類的定義

Socket開發是屬于通信底層的開發,.NET也提供了非常豐富的類來實現Socket的開發工作,本篇不是介紹這些基礎類的操作,而是從一個大的架構方面闡述Socket的快速開發工作,本篇以TCP模式進行程序的開發介紹,以期達到拋磚引玉的目的。

要掌握或者了解Socket開發,必須了解下面所述的場景及知識。

1、TCP客戶端,連接服務器端,進行數據通信

2、TCP服務器端,負責偵聽客戶端連接

3、連接客戶端的管理,如登陸,注銷等,使用獨立線程處理

4、數據接收管理,負責數據的接受,并處理隊列的分發,使用獨立線程處理,簡單處理后叫給“數據處理線程”

5、數據處理線程,對特定的數據,采用獨立的線程進行數據處理

6、數據的封包和解包,按照一定的協議進行數據的封裝和解包

 

針對以上內容,可以封裝以下功能的操作類作為共用基類:

1、BaseSocketClient,客戶端基類

2、BaseSocketServer,TCP服務器管理基類

3、BaseClientManager,連接客戶端管理類

4、BaseReceiver,數據接收處理類

5、ThreadHandler,數據獨立線程處理類

6、PreData、DataTypeKey、Sign分別是定義數據的基礎格式、協議標識、分隔符號等,另外我們定義需要發送的實體類信息,發送和接收通過實體類進行數據轉換和解析。

以上類是基類,不能直接使用,在服務器端和客戶端都要繼承相應的類來完成所需要的工作。

BaseSocketClient只要負責客戶端的鏈接、斷開、發送、接收等操作,大致的定義如下:

代碼    public class BaseSocketClient
    {       
        
public BaseSocketClient()
        {
            _Name 
= this.GetType().Name;
        }

        
public BaseSocketClient(Socket socket) : this()
        {
            _socket 
= socket;
            IPEndPoint ipAndPort 
= (IPEndPoint)socket.RemoteEndPoint;
            _IP 
= ipAndPort.Address.ToString();
            _port 
= ipAndPort.Port;
        }

        
/// 
        
/// 斷開連接
        
///  
        public virtual void DisConnect()
        {
            .........
        }

        
/// 
        
/// 主動連接
        
///  
        public virtual void Connect(string ip, int port)
        {
            ........
        }
        
        
/// 
        
/// 開始異步接收
        
///  
        public void BeginReceive()
        {
            .........
        }
        
         
/// 
         
/// 開始同步接收
         
///                 
         public void StartReceive()
         {
              .........
         }
         
        
/// 
        
///異步發送
        
///  
        public void BeginSend(SendStateObject sendState)
        {
            ........
        }
        
        
/// 
        
/// 同步發送。直接返回成功失敗狀態
        
///  
        public bool SendTo(string data)
        {
            .........
        }
        
/// 
        
/// 主動檢查連接
        
///  
        public virtual void CheckConnect()
        {
            .............
        }
        
        
protected virtual void OnRead(PreData data)
        {
        }
    }

NET技術Socket開發探秘--基類及公共類的定義,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 偷拍国产精品在线播放 | 国产亚洲人成网站在线观看播放 | 色影音先锋av资源网 | 久久精品WWW人人爽人人 | 青柠视频在线观看高清HD | 日韩精品熟女一区二区三区中文 | 色噜噜噜噜亚洲第一 | z0000性欧美 YY8848高清私人影院 | 亚洲AV 中文字幕 国产 欧美 | 国产激情文学 | 秋霞伦理电影在线看 | 久久精品视频91 | 在线观看中文字幕国产 | 在线视频 国产精品 中文字幕 | 亚洲欧美日韩国产手机在线 | 东京热 百度影音 | 最近更新2019中文字幕免费 | 长篇高h肉爽文丝袜 | 亚洲AV无码乱码在线观看浪潮 | 91精品国产入口 | 欧美亚洲视频在线二区 | 99在线这精品视频 | 国产在线精品视频免费观看 | 九九热免费在线观看 | 国产精品高潮呻吟AV久久96 | 国产精品2020观看久久 | 亚洲AV久久婷婷蜜臀无码不卡 | 欧美精品色视频 | 亚洲乱亚洲乱妇13p 亚洲乱色视频在线观看 | 麻豆官网入口 | 最新国产在线视频 | 99热久久视频只有精品6国产 | 97精品伊人久久大香线蕉app | 国产在线观看香蕉视频 | 国产高清视频在线观看不卡v | 免费看国产曰批40分钟 | 摸老师丝袜小内内摸出水 | 俄罗斯女肥臀大屁BBW | 黑粗硬大欧美在线视频 | 蜜桃传媒星空传媒在线播放 | 午夜福利电影网站鲁片大全 |