共用方式為


使用用戶端通訊端

在您可以透過 Socket 啟始對談之前,您必須在應用程式和遠端裝置之間建立資料管道。雖然有其他網路通訊協定家族和通訊協定存在,這個範例將示範如何建立對遠端服務的 TCP/IP 連接。

TCP/IP 使用網路位址和服務通訊埠編號專門來辨識服務。網路位址會辨識網路上的特定裝置;通訊埠編號則辨識所要連接的那個裝置上的特定服務。網路位址和服務通訊埠的組合被稱為結束點,它在 .NET Framework 中由 EndPoint 類別來表示。EndPoint 的子代 (Descendant) 將會針對各個受支援的通訊協定家族來定義;對於 IP 通訊協定家族,類別是 IPEndPoint

Dns 類別提供網域名稱服務給使用 TCP/IP Internet 服務的應用程式。Resolve 方法會查詢 DNS 伺服器,將易於使用的網域名稱 (例如「host.contoso.com」) 對應至數值 Internet 位址 (例如 192.168.1.1)。Resolve 傳回 IPHostEnty,包含位址清單和要求名稱的別名 (Alias)。在大部分情形中,您可以使用 AddressList 陣列中傳回的第一個位址。下列程式碼取得 IPAddress,含有伺服器的 IP 位址 host.contoso.com。

Dim ipHostInfo As IPHostEntry = Dns.Resolve("host.contoso.com")
Dim ipAddress As IPAddress = ipHostInfo.AddressList(0)

[C#]
IPHostEntry ipHostInfo = Dns.Resolve("host.contoso.com");
IPAddress ipAddress = ipHostInfo.AddressList[0];

Internet Assigned Numbers Authority (IANA) 定義通用服務的連接埠編號 (如需詳細資訊,請參閱 www.iana.org/assignments/port-numbers)。其他服務可以用在 1,024 至 65,535 的範圍內註冊的通訊埠編號。下列程式碼將 host.contoso.com 的 IP 位址與通訊埠編號組合以建立連接的遠端結束點。

Dim ipe As New IPEndPoint(ipAddress, 11000)

[C#]
IPEndPoint ipe = new IPEndPoint(ipAddress,11000);

決定遠端裝置的位址並選擇要用作連接的通訊埠之後,應用程式可以嘗試建立與遠端裝置的連接。下列範例使用現有 IPEndPoint 來連接遠端裝置,並快取任何擲回的例外狀況 (Exception)。

Try
    s.Connect(ipe)
Catch ae As ArgumentNullException
    Console.WriteLine("ArgumentNullException : {0}", _
        ae.ToString())
Catch se As SocketException
    Console.WriteLine("SocketException : {0}", se.ToString())
Catch e As Exception
    Console.WriteLine("Unexpected exception : {0}", e.ToString())
End Try

[C#]
try {
    s.Connect(ipe);
} catch(ArgumentNullException ae) {
    Console.WriteLine("ArgumentNullException : {0}", ae.ToString());
} catch(SocketException se) {
    Console.WriteLine("SocketException : {0}", se.ToString());
} catch(Exception e) {
    Console.WriteLine("Unexpected exception : {0}", e.ToString());
}

請參閱

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