亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么實現服務端與客戶端通信

發布時間:2021-07-19 15:34:36 來源:億速云 閱讀:134 作者:Leah 欄目:編程語言

C#中怎么實現服務端與客戶端通信,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

C#服務端與客戶端通信實現實例:

TcpClient client;   for (int i = 0; i <=2; i++) {      try {          client = new TcpClient();          client.Connect("localhost", 8500);  // 與服務器連接      } catch (Exception ex) {          Console.WriteLine(ex.Message);          return;      }       // 打印連接到的服務端信息      Console.WriteLine(  "Server Connected!{0} --> {1}",  client.Client.LocalEndPoint,   client.Client.RemoteEndPoint);  }

C#服務端與客戶端通信問題:如果服務端代碼不變,我們先運行服務端,再運行客戶端,那么接下來會看到這樣的輸出:

// 服務端  Server is running ...  Start Listening ...  Client Connected!127.0.0.1:8500 <-- 127.0.0.1:5226   // 客戶端  Client Running ...  Server Connected!127.0.0.1:5226 --> 127.0.0.1:8500  Server Connected!127.0.0.1:5227 --> 127.0.0.1:8500  Server Connected!127.0.0.1:5228 --> 127.0.0.1:8500

就又回到了本章第2.2小節“多個客戶端與服務端連接”中的處境:盡管有三個客戶端連接到了服務端,但是服務端程序只接收到了一個。這是因為服務端只調用了一次listener.AcceptTcpClient(),而它只對應一個連往客戶端的Socket。但是操作系統是知道連接已經建立了的,只是我們程序中沒有處理到,所以我們當我們輸入“netstat -a”時,仍然會看到3對連接都已經建立成功。

為了能夠接收到三個客戶端的連接,我們只要對服務端稍稍進行一下修改,將AcceptTcpClient方法放入一個do/while循環中就可以了:

C#服務端與客戶端通信實現實例:

Console.WriteLine("Start Listening ...");   while (true) {      // 獲取一個連接,同步方法      TcpClient remoteClient =   listener.AcceptTcpClient();      // 打印連接到的客戶端信息      Console.WriteLine("Client Connected!{0} <-- {1}",  remoteClient.Client.LocalEndPoint,   remoteClient.Client.RemoteEndPoint);  }

這樣看上去是一個死循環,但是并不會讓你的機器系統資源迅速耗盡。因為前面已經說過了,AcceptTcpClient()再沒有收到客戶端的連接之前,是不會繼續執行的,它的大部分時間都在等待。另外,服務端幾乎總是要保持在運行狀態,所以這樣做并無不可,還可以省去“按Q退出”那段代碼。此時再運行代碼,會看到服務端可以收到3個客戶端的連接了。

C#服務端與客戶端通信實例運行結果:

Server is running ...  Start Listening ...  Client Connected!127.0.0.1:8500 <-- 127.0.0.1:5305  Client Connected!127.0.0.1:8500 <-- 127.0.0.1:5306  Client Connected!127.0.0.1:8500 <-- 127.0.0.1:5307

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德安县| 邯郸市| 赣榆县| 克拉玛依市| 龙岩市| 新余市| 左云县| 辽宁省| 乌兰察布市| 阿城市| 石柱| 焦作市| 法库县| 华亭县| 大冶市| 吉林市| 绵竹市| 滨海县| 文昌市| 高邑县| 黑山县| 民和| 阳曲县| 建德市| 鸡泽县| 山阴县| 泉州市| 且末县| 彭州市| 冷水江市| 平舆县| 房产| 竹溪县| 嘉定区| 革吉县| 林州市| 叶城县| 泰顺县| 高要市| 东辽县| 建宁县|