溫馨提示×

c# tcplistener能創(chuàng)建啥

c#
小樊
81
2024-11-20 03:21:05
欄目: 編程語言

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 的一些主要功能:

  1. 創(chuàng)建監(jiān)聽器:使用 TcpListener 類的構(gòu)造函數(shù)創(chuàng)建一個(gè)新的監(jiān)聽器,并指定一個(gè) IP 地址和端口號。

    TcpListener listener = new TcpListener(IPAddress.Any, port);
    
  2. 啟動監(jiān)聽器:調(diào)用 Start() 方法啟動監(jiān)聽器,開始接收客戶端連接請求。

    listener.Start();
    
  3. 接受客戶端連接:使用 AcceptTcpClient() 方法接受一個(gè)來自客戶端的連接請求,并返回一個(gè)新的 TcpClient 對象,表示與客戶端的連接。

    TcpClient client = listener.AcceptTcpClient();
    
  4. 讀取和發(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);
    
  5. 關(guān)閉連接:完成與客戶端的通信后,使用 Close() 方法關(guān)閉 TcpClientNetworkStream 對象。

    client.Close();
    stream.Close();
    
  6. 停止監(jiān)聽器:使用 Stop() 方法停止監(jiān)聽器,不再接收新的客戶端連接請求。

    listener.Stop();
    

通過組合這些功能,你可以使用 TcpListener 類創(chuàng)建各種類型的 TCP 服務(wù)器,例如聊天服務(wù)器、文件傳輸服務(wù)器等。

0