溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接

發(fā)布時(shí)間:2021-07-19 15:35:21 來(lái)源:億速云 閱讀:186 作者:Leah 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)C#中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

C#服務(wù)端與客戶端連接實(shí)現(xiàn)實(shí)例:

class Client {  static void Main(string[] args) {   Console.WriteLine("Client Running ...");  TcpClient client;  //C#服務(wù)端與客戶端連接實(shí)現(xiàn)  for (int i = 0; i <= 2; i++) {  try {  client = new TcpClient();  client.Connect("localhost", 8500); // 與服務(wù)器連接  } catch (Exception ex) {  Console.WriteLine(ex.Message);  return;  }  //C#服務(wù)端與客戶端連接實(shí)現(xiàn)  // 打印連接到的服務(wù)端信息  Console.WriteLine("Server Connected!{0} --> {1}",  client.Client.LocalEndPoint, client.Client.RemoteEndPoint);  }      // 按Q退出  }//C#服務(wù)端與客戶端連接實(shí)現(xiàn)  }

上面代碼最重要的就是client = new TcpClient()這句,如果你將這個(gè)聲明放到循環(huán)外面,再循環(huán)的第二趟就會(huì)發(fā)生異常,原因很顯然:一個(gè)TcpClient對(duì)象對(duì)應(yīng)一個(gè)Socket,一個(gè)Socket對(duì)應(yīng)著一個(gè)端口,如果不使用new操作符重新創(chuàng)建對(duì)象,那么就相當(dāng)于使用一個(gè)已經(jīng)與服務(wù)端建立了連接的端口再次與遠(yuǎn)程建立連接。

此時(shí),如果在“命令提示符”運(yùn)行“netstat -a”,則會(huì)看到類似下面的C#服務(wù)端與客戶端連接實(shí)現(xiàn)實(shí)例的輸出:

TCPjimmy:8500 0.0.0.0:0         LISTENING  TCPjimmy:8500 localhost:10282 ESTABLISHED  TCPjimmy:8500 localhost:10283 ESTABLISHED  TCPjimmy:8500 localhost:10284 ESTABLISHED  TCPjimmy:10282localhost:8500  ESTABLISHED  TCPjimmy:10283localhost:8500  ESTABLISHED  TCPjimmy:10284localhost:8500  ESTABLISHED

可以看到創(chuàng)建了三個(gè)連接對(duì),并且8500端口持續(xù)保持偵聽(tīng)狀態(tài),從這里以及上面我們可以推斷出TcpListener的Start()方法是一個(gè)異步方法。

關(guān)于C#中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI