Socket.Listen 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Listen() |
置於 Socket 聆聽狀態。 |
| Listen(Int32) |
置於 Socket 聆聽狀態。 |
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 錯誤代碼 文件,以獲得錯誤的詳細說明。 使用 Accept 或 BeginAccept 接受佇列中的連線。
Note
你必須先呼叫該 Bind 方法,然後再呼叫 Listen,否則 Listen 會拋出 SocketException。
Note
當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱.NET框架中的網路追蹤。
Note
待辦清單參數的值會根據作業系統的不同限制。 你可以指定較高的數值,但積壓清單會根據作業系統而有所限制。