들어오는 통신을 수신 대기하는 TcpListener를 사용하는 응용 프로그램을 유지 관리하고 있습니다. 내가 다른 컴퓨터에서 파일을 보낼 때, 나는 대상 컴퓨터에서 연결을 거부 했으므로 연결하지 못했습니다 "오류를 얻을 수 있다는 것입니다 데TcpListener가 연결을 적극적으로 거부했습니다.
Dim listener As TcpListener
_listenFailed = False
Try
listener = New TcpListener(System.Net.IPAddress.Parse(Me.Host), Me.Port)
listener.Start()
Catch ex As Exception
' an error here means the settings are likely bogus
_listenFailed = True
Return
End Try
While Not _stoplistening
{
' Accept connection
}
문제 : 다음 코드는 연결을 엽니 다. "
방화벽 및 바이러스 백신을 확인했으며 차단이 없습니다. 사용 된 포트가 활성 상태인지 확인하기 위해
netstat -a -n
을 사용했습니다. 두 응용 프로그램 모두 Visual Studio에서 관리자 모드로 실행 중이지만이 점이 차이를 만들어야합니다. 수락 연결 코드의 첫 번째 줄에 중단 점이 설정되어 있지만 결코 실행되지 않습니다.
나는 응용 프로그램을 중단하고 TcpListener를 검사하여 깊이 파고 들었다면 몇 가지 오류가 있음을 발견했습니다. TcpListener.LocalEndpoint.IPEndPoint.IPAddress.Address.ErrorCode에 오류 10045, "OperationNotSupported"가있었습니다. 또한 TcpListener.Socket.RemoteEndPoint.ErrorCode에서 1057 오류가 발생했습니다. "소켓이 연결되어 있지 않기 때문에 데이터를 보내거나받을 수있는 요청이 허용되지 않았으며 (sendto 호출을 사용하여 데이터 그램 소켓을 보낼 때) 주소가 제공되지 않았습니다. 이 두 가지 오류 중 어떤 것이 관련이 있는지 알 수는 없습니다.
이 문제의 원인에 대한 통찰력이 있거나 문제의 근원을 추적 할 수있는 단계가 있다면 감사 할 것입니다. .
Me.Host의 가치는 무엇입니까? – nunespascal
Me.Host에 IP 주소, 루프백 또는 워크 스테이션 이름이 있습니까? –
컴퓨터의 IPv6 주소인지 확인했습니다. 유감스럽게도 회사 정책에 따라 실제 IP 게시가 금지됩니다. 죄송합니다. – Tim