我收到一个客户的报告,说他们遇到了我创建的 VB6 应用程序和他们的 cisco 防火墙的问题。应用程序HTTP POST
每隔几秒向我们的服务器发送请求,发送一个小的 base64 编码字符串。该应用程序最初运行良好,但大约三个小时后,它似乎根本无法联系我们的服务器或互联网。当应用程序在他们的防火墙之外时,应用程序可以愉快地运行。
我没有关于防火墙的更多详细信息,但这里是帖子的 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 小时后成为问题?