2014-06-18 2 views
1

Socket이 초기화 된 String 표현을 IP AddressPort으로 만들려고합니다. 이 데이터를 사용하여 오류가 발생하면 사용자의 메시지 상자에 인쇄합니다.IP 주소/포트를 반환하는 소켓 속성

다음 코드를 사용 하였다 VB6에서 WinSock 컨트롤을 사용 :

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

어떤 도움을 모두 감상 할 수있다.

+1

VB6 대신 VB.NET 코드를 표시하는 것이 좋을 것입니다. –

+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 속성을 쿼리하여 Socket이 연결된 실제 IP/포트를 가져올 수 있습니다. 이 기능은 특히 호스트 이름에 연결하여 호스트 이름이 확인 된 IP 주소를 찾는 데 유용합니다.