亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# Socket實現簡單控制臺案例

2019-10-29 21:11:01
字體:
來源:轉載
供稿:網友

一、服務器端

1. 實例化并設置socket實例對象

    a.創建ip地址和端口

    b.綁定監聽地址

    c.設置一下允許同時訪問數

2. 監聽連接

    a.通過啟動一個新的線程執行,這樣主線程不會假死(啟動線程,所帶的參數必須是object類型)

    b.利用循環等待連接并返回一個負責通信的socket實例

    c.返回的socket實例中可以獲取到所連接客服的IP地址

3. 接收客服的發送過來的消息

    a.在監聽方法中啟動一個新的線程執行

    b.利用循環獲取發送過來的消息,調用獲取消息的方法需要傳遞一個字節變量參數,作為容器。方法返回值為int,表示獲取到的有效字節數

    c.如果有效字節數為0則跳出循環

    d.接收到消息給客服的返回消息

4. 控制臺程序服務器端代碼

using System;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;namespace ServerSocket{ class Program {  static void Main(string[] args)  {   Console.WriteLine("Hello World!");   Socket serverSocket = new Socket(SocketType.Stream, ProtocolType.Tcp);   IPAddress ip = IPAddress.Any;   IPEndPoint point = new IPEndPoint(ip, 2333);   //socket綁定監聽地址   serverSocket.Bind(point);   Console.WriteLine("Listen Success");   //設置同時連接個數   serverSocket.Listen(10);   //利用線程后臺執行監聽,否則程序會假死   Thread thread = new Thread(Listen);   thread.IsBackground = true;   thread.Start(serverSocket);   Console.Read();  }  /// <summary>  /// 監聽連接  /// </summary>  /// <param name="o"></param>  static void Listen(object o)  {   var serverSocket = o as Socket;   while (true)   {    //等待連接并且創建一個負責通訊的socket    var send = serverSocket.Accept();    //獲取鏈接的IP地址    var sendIpoint = send.RemoteEndPoint.ToString();    Console.WriteLine($"{sendIpoint}Connection");    //開啟一個新線程不停接收消息    Thread thread = new Thread(Recive);    thread.IsBackground = true;    thread.Start(send);   }  }  /// <summary>  /// 接收消息  /// </summary>  /// <param name="o"></param>  static void Recive(object o)  {   var send = o as Socket;   while (true)   {    //獲取發送過來的消息容器    byte[] buffer = new byte[1024 * 1024 * 2];    var effective = send.Receive(buffer);    //有效字節為0則跳過    if (effective == 0)    {     break;    }    var str = Encoding.UTF8.GetString(buffer,0, effective);    Console.WriteLine(str);           var buffers = Encoding.UTF8.GetBytes("Server Return Message");           send.Send(buffers);   }  } }}

二、客戶端

1. 實例化并進行連接socket實例對象

    a.創建ip地址和端口(服務器的IP和端口)

    b.與服務器端建立鏈接

2. 接收服務器發送的消息

    a.啟動一個新的線程執行

    b.利用循環獲取發送過來的消息,調用獲取消息的方法需要傳遞一個字節變量參數,作為容器。方法返回值為int,表示獲取到的有效字節數

    c.如果有效字節數為0則跳出循環

3. 給服務器發送消息

    a. 調用socket對象的send()方法直接發送

4. 控制臺程序客戶端代碼

using System;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;namespace SocketClient{ class Program {  static void Main(string[] args)  {   Console.WriteLine("Hello World!");   //創建實例   Socket socketClient = new Socket(SocketType.Stream, ProtocolType.Tcp);   IPAddress ip = IPAddress.Parse("192.168.0.111");   IPEndPoint point = new IPEndPoint(ip, 2333);   //進行連接   socketClient.Connect(point);      //不停的接收服務器端發送的消息   Thread thread = new Thread(Recive);   thread.IsBackground = true;   thread.Start(socketClient);   //不停的給服務器發送數據   int i = 0;   while (true)   {    i++;    var buffter = Encoding.UTF8.GetBytes($"Test Send Message:{i}");    var temp = socketClient.Send(buffter);    Thread.Sleep(1000);   }     }  /// <summary>  /// 接收消息  /// </summary>  /// <param name="o"></param>  static void Recive(object o)  {   var send = o as Socket;   while (true)   {    //獲取發送過來的消息    byte[] buffer = new byte[1024 * 1024 * 2];    var effective = send.Receive(buffer);    if (effective == 0)    {     break;    }    var str = Encoding.UTF8.GetString(buffer, 0, effective);    Console.WriteLine(str);   }  } }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲伊人久久综合| 在线精品国产成人综合| 亚洲精品永久免费精品| 欧美一区二区三区……| 国产精品老牛影院在线观看| 欧美亚洲日本黄色| 久久久精品美女| 成人黄色大片在线免费观看| 久久视频中文字幕| 国产成人在线一区二区| 最近2019年中文视频免费在线观看| 国产精品美女在线| 亚洲国产精品va在线看黑人| 欧美日韩国产中字| 高清欧美一区二区三区| 欧美色videos| 国产成人极品视频| 国产精品第一区| 日本精品一区二区三区在线播放视频| 2019中文字幕在线| 国产成人精品一区| 色多多国产成人永久免费网站| 亚洲韩国青草视频| 国产精品美女999| 欧美成人精品xxx| 欧美成人精品三级在线观看| 国产拍精品一二三| 国模吧一区二区| 亚洲最大激情中文字幕| 韩国视频理论视频久久| 国产经典一区二区| 亚洲性xxxx| 成人xvideos免费视频| 欧美午夜宅男影院在线观看| 久久伊人免费视频| 精品中文字幕乱| 日韩精品在线观看一区| 毛片精品免费在线观看| 亚洲国产三级网| 中文字幕在线视频日韩| 亚洲精品在线视频| 中文字幕精品av| 亚洲国产高潮在线观看| 欧美激情一级精品国产| 国产精品扒开腿爽爽爽视频| 欧美性受xxxx黑人猛交| 亚洲欧美国产制服动漫| 国产精品午夜视频| 欧美激情视频一区| 亚洲free性xxxx护士白浆| 国产成人在线精品| 亚洲午夜久久久影院| 668精品在线视频| 国产精品普通话| 亚洲国产精品久久91精品| 日韩av日韩在线观看| 7m第一福利500精品视频| 亚洲精品欧美日韩| 精品国偷自产在线视频| 韩剧1988在线观看免费完整版| 亚洲天堂男人天堂女人天堂| 精品中文字幕在线| 成人在线观看视频网站| 久久久久国产精品一区| 亚洲国产91精品在线观看| 日本国产一区二区三区| 久久精品国产亚洲精品| 成人黄色大片在线免费观看| 91老司机精品视频| 亚洲精品欧美日韩专区| 日韩国产高清视频在线| 91精品国产91久久久久福利| 亚洲影院在线看| 成人有码视频在线播放| 中文字幕亚洲激情| 久久手机免费视频| 亚洲性69xxxbbb| 国产精品丝袜久久久久久不卡| 在线观看中文字幕亚洲| 久久国产一区二区三区| 国产精品自拍偷拍视频| 91在线精品视频| 97成人精品区在线播放| 成人国产精品一区| 亚洲精品日韩欧美| 国产99视频在线观看| 精品成人乱色一区二区| 欧美电影免费观看| 国产成一区二区| 久久久视频在线| 亚洲欧美资源在线| 精品女厕一区二区三区| 欧美日韩第一视频| 国产精品美女在线| 国产美女久久精品香蕉69| 日韩中文字幕网站| 国产精品成人免费电影| 精品一区电影国产| 国产精品爽爽爽| 日韩视频一区在线| 亚洲性视频网址| 欧美大片在线看免费观看| 95av在线视频| 91国内揄拍国内精品对白| 亚洲另类激情图| 欧美精品在线网站| 一区二区三区动漫| 久久青草福利网站| 国产精品中文字幕久久久| 国内揄拍国内精品少妇国语| 精品国产一区av| 日韩av中文字幕在线免费观看| 日日噜噜噜夜夜爽亚洲精品| www.日韩免费| 国产成人精品免费久久久久| 国产精品日韩在线观看| 国产日韩精品电影| 欧美激情手机在线视频| 亚洲第一男人天堂| 欧美丰满少妇xxxxx| 日韩视频欧美视频| 国产精品福利久久久| 欧美日韩在线免费| 久久精品久久久久久| 久久综合网hezyo| 欧美色播在线播放| 国产精品欧美久久久| 26uuu日韩精品一区二区| 在线看国产精品| 亚洲电影在线观看| 第一福利永久视频精品| 欧美另类极品videosbestfree| 亚洲一区999| 亚洲人线精品午夜| 久久久国产影院| 日av在线播放中文不卡| 成人午夜一级二级三级| 成人激情免费在线| 国内揄拍国内精品少妇国语| 亚洲男人的天堂网站| 日韩视频在线免费| 久久国产精品久久久久| 国产成人在线视频| 国产亚洲精品高潮| 亚洲国产成人在线播放| 亚洲男子天堂网| 日本sm极度另类视频| 91精品国产91久久久久福利| 久久亚洲精品一区| 97国产精品视频| 国产97色在线| 在线观看久久久久久| 国产不卡av在线| 亚洲亚裔videos黑人hd| 午夜精品三级视频福利| 欧美主播福利视频| 亚洲成人精品在线| 欧美日韩国产精品一区| 97色在线观看免费视频| 久久九九全国免费精品观看| 91免费欧美精品| 91免费看片网站| 国产成人中文字幕| 中文字幕亚洲二区|