亚洲人成激情在线播放_亚洲av无码成人精品区在线播放_亚洲综合激情视频_亚洲无av在线中文字幕

歡迎您的來訪!有源碼,好建站(m.bmm520.net)源碼海洋源碼網為您提供快速建站平臺.
當前位置: 首頁 > 行業資訊 > c# .net 資料 >

C# Socket之異步TCP客戶端斷線重連

時間:2021-07-11 23:29來源:未知 作者:admin 點擊:
本文章向大家介紹C# Socket之異步TCP客戶端斷線重連,主要包括C# Socket之異步TCP客戶端斷線重連使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。 我們知道TCP通信是一種面向連接的Socket,針對于面向連接

本文章向大家介紹C# Socket之異步TCP客戶端斷線重連,主要包括C# Socket之異步TCP客戶端斷線重連使用實例、應用技巧、基本知識點總結和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下。

 

        我們知道TCP通信是一種面向連接的Socket,針對于面向連接的TCP服務應用,安全,但是效率低,它首先需要服務端開啟服務,然后客戶端才可以去連接,如果服務端沒有開啟通信服務或者連接之后再中途因為某些原因斷開連接了,那么都是會通信失敗的,所以我們這篇博客主要是對TCP通信加入兩個機制。1,客戶端開啟后未連接成功,自動重連請求 2,若通信途中因為某些原因斷開連接了自動重連機制  因為測試發現如果是程序運行途中我們利用同步的方式重新連接的話連接時會出現程序卡頓的情況,這個對用戶的體驗是非常不好的,為了避免這個情況,我們采用的是異步TCP通信的方式,代碼如下,這是一個單例腳本,無需掛載,程序開始時調用一下ConnectServer方法開啟通信就好,記得關閉程序時要調用一下Close方法來斷開掛起的異步連接,否則調試的時候通信會一直保存著。

  • /***********************************
  •  
    * Description:異步TCP客戶端
  •  
    * Mountpoint:這是一個單例腳本,無需掛載,直接調用即可
  •  
    * Date:2019.06.25
  •  
    * Version:unity版本2017.2.0f3
  •  
    * Author:LJF
  •  
    ***********************************/
  •  
    using System.Collections;
  •  
    using System.Collections.Generic;
  •  
    using UnityEngine;
  •  
    using System.Net;
  •  
    using System.Net.Sockets;
  •  
    using System;
  •  
    using System.Text;
  •  
     
  •  
     
  •  
    namespace LJF
  •  
    {
  •  
    //規范命名、添加注釋、合理封裝、限制訪問權限
  •  
    public class AsyncTcpClient
  •  
    {
  •  
    private string ip1;
  •  
    private int port1;
  •  
    byte[] ReadBytes = new byte[1024 * 1024];
  •  
    //單例
  •  
    public static AsyncTcpClient Instance
  •  
    {
  •  
    get
  •  
    {
  •  
    if (instance==null)
  •  
    {
  •  
    instance = new AsyncTcpClient();
  •  
    }
  •  
    return instance;
  •  
    }
  •  
    }
  •  
    private static AsyncTcpClient instance;
  •  
     
  •  
    System.Net.Sockets.TcpClient tcpClient;
  •  
     
  •  
    //連接服務器
  •  
    public void ConnectServer(string ip, int port)
  •  
    {
  •  
    //Debuger.EnableSave = true;
  •  
    ip1 = ip;
  •  
    port1 = port;
  •  
    try
  •  
    {
  •  
    tcpClient = new System.Net.Sockets.TcpClient();//構造Socket
  •  
    tcpClient.BeginConnect(IPAddress.Parse(ip), port,Lianjie, null);//開始異步
  •  
    }
  •  
    catch (Exception e)
  •  
    {
  •  
    Debug.Log(e.Message);
  •  
    }
  •  
    }
  •  
     
  •  
    //連接判斷
  •  
    void Lianjie(IAsyncResult ar)
  •  
    {
  •  
    if (!tcpClient.Connected)
  •  
    {
  •  
    Debug.Log("服務器未開啟,嘗試重連。。。。。。");
  •  
    tcpClient.BeginConnect(IPAddress.Parse(ip1), port1, Lianjie, null);
  •  
    //IAsyncResult rest = tcpClient.BeginConnect(IPAddress.Parse(ip1), port1, Lianjie, null);
  •  
    //bool scu= rest.AsyncWaitHandle.WaitOne(3000);
  •  
    }
  •  
    else
  •  
    {
  •  
    Debug.Log("連接上了");
  •  
    tcpClient.EndConnect(ar);//結束異步連接
  •  
    tcpClient.GetStream().BeginRead(ReadBytes, 0, ReadBytes.Length, ReceiveCallBack, null);
  •  
    }
  •  
    }
  •  
     
  •  
     
  •  
    //接收消息
  •  
    void ReceiveCallBack(IAsyncResult ar)
  •  
    {
  •  
    try
  •  
    {
  •  
    int len = tcpClient.GetStream().EndRead(ar);//結束異步讀取
  •  
    if (len > 0)
  •  
    {
  •  
     
  •  
    string str = Encoding.UTF8.GetString(ReadBytes, 0,len);
  •  
    str = Uri.UnescapeDataString(str);
  •  
    //將接收到的消息寫入日志
  •  
    //Debuger.Log(string.Format("收到主機:{0}發來的消息|{1}", ip1, str));
  •  
    //Debug.Log(str);
  •  
    tcpClient.GetStream().BeginRead(ReadBytes, 0, ReadBytes.Length, ReceiveCallBack, null);
  •  
    }
  •  
    else
  •  
    {
  •  
    tcpClient = null;
  •  
    Debug.Log("連接斷開,嘗試重連。。。。。。");
  •  
    ConnectServer(ip1,port1);
  •  
    }
  •  
    }
  •  
    catch (Exception e)
  •  
    {
  •  
    Debug.Log(e.Message);
  •  
    }
  •  
    }
  •  
     
  •  
    //發送消息
  •  
    public void SendMsg(string msg)
  •  
    {
  •  
    byte[] msgBytes = Encoding.UTF8.GetBytes(msg);
  •  
    tcpClient.GetStream().BeginWrite(msgBytes, 0, msgBytes.Length, (ar) => {
  •  
    tcpClient.GetStream().EndWrite(ar);//結束異步發送
  •  
    }, null);//開始異步發送
  •  
    }
  •  
     
  •  
    /// <summary>
  •  
    /// 斷開連接
  •  
    /// </summary>
  •  
    public void Close()
  •  
    {
  •  
    if (tcpClient != null && tcpClient.Client.Connected)
  •  
    tcpClient.Close();
  •  
    if (!tcpClient.Client.Connected)
  •  
    {
  •  
    tcpClient.Close();//斷開掛起的異步連接
  •  
    }
  •  
    }
  •  
     
  •  
    }
  •  
    }
(責任編輯:admin)本文地址:http://m.bmm520.net/info/net/2021/0711/22470.html

推薦資訊

亚洲人成激情在线播放_亚洲av无码成人精品区在线播放_亚洲综合激情视频_亚洲无av在线中文字幕

      国产精品免费观看视频| 午夜激情久久久| 欧美在线观看你懂的| 久久精品亚洲精品国产欧美| 亚洲一区在线播放| 懂色av中文一区二区三区| 中文幕一区二区三区久久蜜桃| 色综合 综合色| 欧美国产欧美综合| 免费成人在线视频观看| 久久久噜噜噜久久人人看| 亚洲丶国产丶欧美一区二区三区| 欧美变态tickling挠脚心| 亚洲成人激情社区| 26uuu国产一区二区三区| 婷婷成人激情在线网| 国产日韩亚洲欧美综合| 麻豆成人91精品二区三区| 国产拍欧美日韩视频二区| 欧美三电影在线| 亚洲人精品一区| 懂色一区二区三区免费观看| 亚洲综合视频在线观看| 久久久久久久久久看片| 麻豆91在线看| 日韩一区日韩二区| 日韩精品中文字幕在线不卡尤物| 亚洲一级二级三级在线免费观看| av综合在线播放| 色欧美乱欧美15图片| 国产精品久久久久久久久图文区| 国产精品一区三区| 亚洲午夜在线视频| 欧美激情一区二区三区四区| 国产在线国偷精品产拍免费yy| 亚洲视频中文字幕| 久久网站最新地址| 极品美女销魂一区二区三区| 亚洲老妇xxxxxx| 久久久久久久久岛国免费| 精彩视频一区二区| 一区二区三区毛片| 欧美激情在线看| 岛国精品在线播放| 色综合激情久久| 亚洲免费在线播放| 久久综合给合久久狠狠狠97色69| 欧美人与禽zozo性伦| 亚洲韩国一区二区三区| 日本一区二区三区视频视频| 欧美一区二区在线免费观看| 青青草成人在线观看| 亚洲精品写真福利| 欧美激情一区三区| 成人av综合一区| 欧美色大人视频| 首页亚洲欧美制服丝腿| 亚洲欧美综合色| 中文字幕欧美区| jizzjizzjizz欧美| 欧美日韩视频在线一区二区| 婷婷国产在线综合| 亚洲视频一区在线| 国产精品久久久爽爽爽麻豆色哟哟| 成人免费视频视频在线观看免费| 欧美在线播放高清精品| 午夜精品久久久久久久久久 | 91精品国产免费久久综合| 日本在线播放一区二区三区| 亚洲激情自拍视频| 日韩理论电影院| 国产精品丝袜一区| 国产午夜精品福利| 91在线播放网址| 日韩精品中文字幕一区| 国产盗摄女厕一区二区三区 | 日本欧美韩国一区三区| 国产精品国产自产拍在线| 国产丝袜美腿一区二区三区| 成人午夜av电影| 欧美一区二区高清| 国产一区免费电影| 欧美日韩中文字幕精品| 六月婷婷色综合| 色一情一乱一乱一91av| 五月天久久比比资源色| 亚洲午夜免费视频| 亚洲成av人片www| 亚洲午夜影视影院在线观看| 亚洲一二三区在线观看| 亚洲综合久久av| 亚洲午夜影视影院在线观看| 亚洲精品免费在线播放| 亚洲综合区在线| 亚洲精品伦理在线| 亚洲国产一区二区三区| 一区二区三区四区蜜桃| 亚洲国产精品天堂| 亚洲国产视频网站| 日韩 欧美一区二区三区| 五月激情综合网| 麻豆精品在线看| 欧美日韩另类一区| 国产成a人亚洲精品| 日韩一级高清毛片| 播五月开心婷婷综合| 久久伊99综合婷婷久久伊| 久久一区二区三区四区| 亚洲国产成人在线| 中文字幕亚洲一区二区av在线| 亚洲美女视频一区| 亚洲资源中文字幕| 蜜桃视频在线观看一区二区| 欧美婷婷六月丁香综合色| 国产精品一二三| 欧美精品一区视频| 久久精品无码一区二区三区| 中文字幕在线不卡视频| 亚洲欧美韩国综合色| 天堂在线亚洲视频| 欧美日韩一区视频| 丁香一区二区三区| 日本一区二区综合亚洲| 亚洲欧美日韩中文字幕一区二区三区| 亚洲网友自拍偷拍| 欧美三级视频在线观看| 高清日韩电视剧大全免费| 久久久久久久综合| 中文字幕制服丝袜成人av| 婷婷亚洲久悠悠色悠在线播放| 欧美在线观看视频一区二区 | 午夜视频在线观看一区| 精品一区二区三区久久久| 日韩欧美一区二区在线视频| 久久久久国产精品人| 一区二区三区中文字幕电影| 在线亚洲人成电影网站色www| 国产成人亚洲综合a∨婷婷图片| 亚洲精品一区二区三区福利 | 国产女主播在线一区二区| 亚洲一区二区五区| 欧美视频日韩视频| a4yy欧美一区二区三区| 亚洲视频香蕉人妖| 91官网在线免费观看| 成人av网站在线观看| 国产精品日产欧美久久久久| 亚洲妇女屁股眼交7| 国产麻豆一精品一av一免费| 国产欧美一区二区精品性| 亚洲综合视频网| 国产成人亚洲综合色影视| 国产精品三级视频| 午夜国产精品影院在线观看| 成人午夜精品一区二区三区| 亚洲婷婷国产精品电影人久久| 色狠狠综合天天综合综合| a美女胸又www黄视频久久| 一区二区三区在线看| 欧美日韩国产欧美日美国产精品| 久久久久久久综合色一本| 亚洲国产成人av| 日韩亚洲国产中文字幕欧美| 中文字幕一区二| 激情深爱一区二区| 中文字幕av在线一区二区三区| 午夜精品久久久| 成人开心网精品视频| 亚洲综合免费观看高清完整版在线 | 欧美一级生活片| 亚洲色图在线看| 国产精品一二三在| **性色生活片久久毛片| 色狠狠一区二区| 久久免费偷拍视频| 日本免费在线视频不卡一不卡二| 精品国产91亚洲一区二区三区婷婷| 亚洲精品中文字幕乱码三区| 国产成人在线免费观看| 依依成人精品视频| 日韩欧美国产精品| 日韩国产高清在线| 久久久久国产精品人| 香蕉成人伊视频在线观看| 久久女同精品一区二区| 男女男精品视频网| 国产精品久久久久久久久免费桃花 | 国内成人自拍视频| 亚洲欧洲精品天堂一级| 欧美妇女性影城| 狠狠色丁香久久婷婷综合_中 | 国产喂奶挤奶一区二区三区| 毛片av一区二区| 国产精品国产三级国产有无不卡| 欧美性猛交一区二区三区精品 | 国产精品萝li| 麻豆91精品91久久久的内涵| 成人app在线| 午夜成人免费电影| 久久精品一区八戒影视|