0
我有一個客戶的報告說他們遇到了我創建的VB6應用程序和他們的思科防火牆的問題。應用程序每隔幾秒向我們的服務器發送HTTP POST
請求,發送一個小的base64編碼字符串。該應用程序最初工作正常,但大約三個小時後,似乎無法聯繫我們的服務器或互聯網。當應用程序在防火牆之外時,應用程序可以運行愉快。VB6應用程序在幾個小時後被防火牆阻止
我沒有關於防火牆的更多細節,但這裏是這一職位的VB6代碼(爲Winsock1是Winsock控件):
strHttp = "POST" & URL & " HTTP/1.1" & vbCrLf
strHttp = strHttp & "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" & vbCrLf
strHttp = strHttp & "X-Method: Submit" & vbCrLf
strHttp = strHttp & "Content-Length: " & lngBodyLength & vbCrLf
strHttp = strHttp & "Accept: text/html" & vbCrLf
strHttp = strHttp & "User-Agent: MyApplication (www.ourwebsite.com)" & vbCrLf
strHttp = strHttp & "Host: " & HOST & vbCrLf
strHttp = strHttp & vbCrLf & strBody
mainForm.Winsock1.Protocol = sckTCPProtocol
mainForm.Winsock1.RemoteHost = IP_ADDRESS
mainForm.Winsock1.RemotePort = 80
blnConnectionError = False
mainForm.Winsock1.Connect
While Not blnConnected And Not blnConnectionError
DoEvents
Wend
mainForm.Timer_Http_Timeout.Enabled = True
mainForm.Winsock1.SendData strHttp
如果應用程序發生問題後重新啓動,它會在大約3個小時的時間內正常工作,這使我想/我可以在代碼中做些事情來解決這個問題。
有什麼關於上述代碼會擔心防火牆?
任何想法爲什麼它只會在3小時後成爲問題?
同意,嘗試斷開連接並在X時間後建立新連接。 – tcarvin 2012-04-27 18:43:15