我正在維護使用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 Studios運行,而不是這應該有所作爲。我有一個斷點設置在接受連接代碼的第一行,但它永遠不會運行。
我停止了應用程序並檢查了TcpListener,發現如果深入挖掘,會發生一些錯誤。在TcpListener.LocalEndpoint.IPEndPoint.IPAddress.Address.ErrorCode,出現錯誤10045「OperationNotSupported」。另外,在TcpListener.Socket.RemoteEndPoint.ErrorCode中,有一個錯誤1057,「發送或接收數據的請求被拒絕,因爲套接字未連接,並且(當使用sendto調用在數據報套接字上發送時)沒有提供地址。我不知道這些錯誤是否有關
如果任何人有任何關於什麼可能會導致此問題的見解,或可以採取的步驟來追蹤問題的根源,我將不勝感激。
Me.Host的價值是什麼? – nunespascal 2012-07-31 17:51:05
是Me.Host一個IP地址,一個回送或工作站名稱? – 2012-07-31 17:54:41
我已確認它是計算機的IPv6地址。不幸的是,公司政策禁止我發佈實際的知識產權。抱歉。 – Tim 2012-07-31 17:57:13