У меня был отчет от клиента, в котором говорилось, что у них возникла проблема с приложением VB6, которое я создал, и их брандмауэром cisco. Приложение отправляет 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