共用方式為


使用通訊端聆聽

接聽項 (Listener) 或伺服器通訊端會開啟網路上的通訊埠,並接著等待用戶端連接至那個通訊埠。雖然有其他網路通訊協定家族和通訊協定存在,這個範例將示範如何建立 TCP/IP 網路的遠端服務。

TCP/IP 服務的唯一位址是將主機的 IP 位址與提供服務所要使用的通訊埠編號 (以建立服務的結束點) 加以組合定義的。Dns 類別提供方法,傳回區域網路裝置所支援的網路位址的資訊。當區域網路裝置有一個以上的網路位址時,或如果區域系統支援一個以上的網路裝置,Dns 類別將會傳回所有網路位址的資訊,而應用程式則必須選擇服務的正確位址。Internet Assigned Numbers Authority (IANA) 定義通用服務的連接埠編號 (如需詳細資訊,請參閱 http://www.iana.org/assignments/port-numbers)。其他服務可以用在 1,024 至 65,535 的範圍內註冊的通訊埠編號。

下列程式碼範例利用組合主機電腦的 Dns 傳回的第一個 IP 位址與從註冊的連接埠編號範圍中所選的連接埠編號,替伺服器建立 IPEndPoint

Dim ipHostInfo As IPHostEntry = Dns.Resolve(Dns.GetHostName())
Dim ipAddress As IPAddress = ipHostInfo.AddressList(0)
Dim localEndPoint As New IPEndPoint(ipAddress, 11000)

[C#]
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);

一旦確定了本機結束點,Socket 必須使用 Bind 方法與該結束點產生關聯,並使用 Listen 方法來設定在結束點上聆聽 (Listen)。如果特定的位址和連接埠組合已經被使用的話,Bind 將擲回例外狀況。下列範例示範將 SocketIPEndPoint 產生關聯。

listener.Bind(localEndPoint)
listener.Listen(100)
[C#]
listener.Bind(localEndPoint);
listener.Listen(100);

Listen 方法接受單一參數,指定在伺服器忙碌中錯誤傳回連接的用戶端之前,有多少 Socket 的暫止連接被允許。上述情形中,伺服器忙碌中回應傳回至編號 101 的用戶端之前,有多達 100 個用戶端置於連接佇列。

請參閱

使用同步的伺服器通訊端 | 使用非同步的伺服器通訊端 | 使用用戶端通訊端 | 建立通訊端 | 通訊端