我已經構建了一個windows服務,它通過tcpClient使用IP和端口號連接到本地網絡設備。網絡設備流出數據,我收到一個讀取。對於多個設置,MONTHS一直在工作(總是1臺機器 - > 1個網絡設備)。網絡設備可以被ping但沒有tcp連接
現在幾乎所有的連接嘗試都開始失敗! 我們可以通過命令提示符來ping通設備。 在膩子中,沒有數據傳輸。 使用netstat我沒有看到列出的任何遠程地址。
在我的服務有以下錯誤日誌消息:
Exception by Establishing TCP/IP [email protected] System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond XXX.XXX.XXX.XX:XXXX (translated into english ;D)
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)
at System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port)
是網絡相關的?或者它與Windows更新或任何東西?
我上到最近的工作,因爲響應ping操作,但不能連接設備的代碼
public void readDevice()
{
TcpClient Client = new TcpClient();
System.Net.IPAddress ip = System.Net.IPAddress.Parse(ConfigurationManager.AppSettings["IP"]);
/*
* Establishing TCP/IP Connection
*/
try
{
// IP and Port number
log.Debug("Try Client.Connect:" + ip);
Client.Connect(ip, 5000);
}
catch (Exception ex)
{
/* Handle the socket exception.... */
//this error is thrown
log.Debug("Exception by Establishing TCP/IP [email protected] "+ ex);
}
NetworkStream MessageStream = Client.GetStream();
//Magic be here
}
我很堅持。 任何幫助極大讚賞
乍一看這聽起來像是一個防火牆問題,你可以用telnet連接到端口嗎? –
儘管「ping」和TCP連接最終都使用IP協議,但它們的處理方式通常不同。防火牆讓ping消息通過但阻止其他類型的流量並不罕見。 –
你最近更改過任何IP地址,比如默認網關..?你的網絡是什麼樣的拓撲結構? –