Socket.Listen 方法

定義

多載

名稱 Description
Listen()

置於 Socket 聆聽狀態。

Listen(Int32)

置於 Socket 聆聽狀態。

Listen()

來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs

置於 Socket 聆聽狀態。

public:
 void Listen();
public void Listen();
member this.Listen : unit -> unit
Public Sub Listen ()

備註

待處理連線佇列的最大長度會自動決定。

適用於

Listen(Int32)

來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs
來源:
Socket.cs

置於 Socket 聆聽狀態。

public:
 void Listen(int backlog);
public void Listen(int backlog);
member this.Listen : int -> unit
Public Sub Listen (backlog As Integer)

參數

backlog
Int32

待處理連線隊列的最大長度。

例外狀況

嘗試存取該套接字時發生錯誤。

該店 Socket 已經關閉。

範例

以下程式碼範例用於 Socket 監聽進來的連線。

    // create the socket
    Socket listenSocket = new Socket(AddressFamily.InterNetwork,
                                     SocketType.Stream,
                                     ProtocolType.Tcp);

    // bind the listening socket to the port
IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, port);
    listenSocket.Bind(ep);

    // start listening
    listenSocket.Listen(backlog);
   ' create the socket
   Dim listenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
   
   ' bind the listening socket to the port
   Dim hostIP As IPAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList(0)
   Dim ep As New IPEndPoint(hostIP, port)
   listenSocket.Bind(ep)
   
   ' start listening
   listenSocket.Listen(backlog)
End Sub

備註

Listen 導致連線導向 Socket 系統監聽來訪連線嘗試。 參數 backlog 指定可排隊接受的入連線數量。 要決定你能指定的最大連接數,請取回該 MaxConnections 值。 Listen 不會被阻擋。

如果你收到 SocketException,請使用該 ErrorCode 屬性取得特定的錯誤代碼。 取得此程式碼後,請參閱 Windows Sockets 版本 2 API 錯誤代碼 文件,以獲得錯誤的詳細說明。 使用 AcceptBeginAccept 接受佇列中的連線。

Note

你必須先呼叫該 Bind 方法,然後再呼叫 Listen,否則 Listen 會拋出 SocketException

Note

當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱.NET框架中的網路追蹤

Note

待辦清單參數的值會根據作業系統的不同限制。 你可以指定較高的數值,但積壓清單會根據作業系統而有所限制。

另請參閱

適用於