Socket.Listen 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
Listen() |
將 Socket 置於接聽狀態。 |
Listen(Int32) |
將 Socket 置於接聽狀態。 |
Listen()
Listen(Int32)
- 來源:
- 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 來接聽連入連線。
// create the socket
Socket^ listenSocket = gcnew 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 = gcnew IPEndPoint( hostIP,port );
listenSocket->Bind( ep );
// start listening
listenSocket->Listen( backlog );
// 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 接受來自佇列的連接。
注意
您必須先呼叫 方法, Bind 再呼叫 Listen,否則 Listen 會擲回 SocketException。
注意
在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤。
注意
待辦項目參數受限於不同的值,視操作系統而定。 您可以指定較高的值,但待辦專案會根據操作系統而受到限制。