TcpListener
是 C# 中的一個(gè)類,它位于 System.Net.Sockets
命名空間中。這個(gè)類用于在 TCP 網(wǎng)絡(luò)上創(chuàng)建一個(gè)監(jiān)聽器,以便接收來自客戶端的連接請求。通過使用 TcpListener
,你可以創(chuàng)建一個(gè)簡單的 TCP 服務(wù)器,該服務(wù)器可以處理多個(gè)客戶端連接。
以下是 TcpListener
的一些主要功能:
創(chuàng)建監(jiān)聽器:使用 TcpListener
類的構(gòu)造函數(shù)創(chuàng)建一個(gè)新的監(jiān)聽器,并指定一個(gè) IP 地址和端口號。
TcpListener listener = new TcpListener(IPAddress.Any, port);
啟動監(jiān)聽器:調(diào)用 Start()
方法啟動監(jiān)聽器,開始接收客戶端連接請求。
listener.Start();
接受客戶端連接:使用 AcceptTcpClient()
方法接受一個(gè)來自客戶端的連接請求,并返回一個(gè)新的 TcpClient
對象,表示與客戶端的連接。
TcpClient client = listener.AcceptTcpClient();
讀取和發(fā)送數(shù)據(jù):通過 TcpClient
對象的 GetStream()
方法獲取一個(gè) NetworkStream
對象,然后使用 Read()
和 Write()
方法在客戶端和服務(wù)器之間發(fā)送和接收數(shù)據(jù)。
NetworkStream stream = client.GetStream();
byte[] buffer = new byte[1024];
int bytesRead = stream.Read(buffer, 0, buffer.Length);
// 處理接收到的數(shù)據(jù)
stream.Write(responseBytes, 0, responseBytes.Length);
關(guān)閉連接:完成與客戶端的通信后,使用 Close()
方法關(guān)閉 TcpClient
和 NetworkStream
對象。
client.Close();
stream.Close();
停止監(jiān)聽器:使用 Stop()
方法停止監(jiān)聽器,不再接收新的客戶端連接請求。
listener.Stop();
通過組合這些功能,你可以使用 TcpListener
類創(chuàng)建各種類型的 TCP 服務(wù)器,例如聊天服務(wù)器、文件傳輸服務(wù)器等。