2014-06-18 32 views
1

我想獲得IP AddressPortString表示我的Socket已被初始化。如果發生錯誤,我正在使用此數據在用戶的消息框中進行打印。插座屬性,返回IP地址/端口

使用VB6中的WinSock控制使用下面的代碼:

"Could not open TCP Connection to " & frmMain.winSock1.RemoteHost & ":" 
      & frmMain.winSock1.RemotePort 

任何幫助都將不勝感激。

+1

你會更好地顯示VB.NET代碼,而不是VB6,所以我們可以看到它是如何initalised等。 –

+0

@MattWilko我相信OP只是顯示過去在VB6中工作,並正在尋找這是一個近似值。 – djv

+0

這個問題或多或少有人問過:http://stackoverflow.com/questions/1904160/getting-the-ip-address-of-a-remote-socket-endpoint – djv

回答

4

Socket在實際連接到服務器之前不知道遠程IP /端口。您必須首先提供一個目的地爲Connect()的方法。如果Connect()失敗,您必須知道您提供的目的地,以便您可以報告,但無法查詢Socket。如果您異步連接,則必須在某處記住該目標,以便在需要時可以檢索該目標。

但是,如果Connect()成功,您可以查詢RemoteEndPoint屬性來獲取實際的IP /端口的Socket連接。當連接到主​​機名時,這是特別有用的,以發現主機名解析到的IP地址。