2014-06-18 34 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地址。