2011-09-21 100 views
0

我在C#中編寫了一個WinCE應用程序,該應用程序向駐留在我的網絡上的APACHE服務器發出HTTP POST。由於一些網絡問題(我猜測),我得到下面的異常在託管代碼Wince異步HTTP請求的套接字異常

System.Net.Sockets.SocketException occurred 
    Message="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" 
    ErrorCode=10060 
    NativeErrorCode=10060 
    StackTrace: 
     at System.Net.Sockets.Socket.ConnectNoCheck(EndPoint remoteEP) 
     at System.Net.Sockets.Socket.Connect(EndPoint remoteEP) 
     at System.Net.Connection.doConnect(IPEndPoint ep) 
     at System.Net.Connection.connect(Object ignored) 
     at System.Threading.ThreadPool.WorkItem.doWork(Object o) 
     at System.Threading.Timer.ring() 

此異常並不總是拋出,但是當它被拋出時,我的應用程序無法連接到服務器AT所有。重複的連接嘗試無助於重新連接。唯一有幫助的是關閉和重新部署應用程序。

我無法捕捉到異常,因爲它內部的託管代碼。有什麼辦法可以繞過這個並關閉所有到我的服務器的套接字連接並重新初始化它們?有什麼我做錯了嗎?

回答

2

異常消息看起來有點誤導(「連接嘗試失敗,因爲連接黨」),但我認爲,這意味着你的硬件與服務器通信,但服務器不接受在TCP連接水平。

我能想到的一個問題是「掛起」連接,導致服務器達到最大併發連接數並停止接受新連接。

雖然這只是一個猜測,但如果可以查看是否可以查看服務器是否報告了任何內容,並且可能嘗試在問題再次出現時重新啓動apache,則可能需要檢查apache日誌。如果有幫助,你仍然需要找到原因。

+0

問題出在網絡上。嘆。謝謝 :) – Rishi