Socket.Listen 方法

定義

多載

Listen()

Socket 置於接聽狀態。

Listen(Int32)

Socket 置於接聽狀態。

Listen()

來源:
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 置於接聽狀態。

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 錯誤碼 檔,以取得錯誤的詳細描述。 使用 AcceptBeginAccept 接受來自佇列的連接。

注意

您必須先呼叫 方法, Bind 再呼叫 Listen,否則 Listen 會擲回 SocketException

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤

注意

待辦項目參數受限於不同的值,視操作系統而定。 您可以指定較高的值,但待辦專案會根據操作系統而受到限制。

另請參閱

適用於