クライアントから、私が作成した VB6 アプリケーションとその cisco ファイアウォールで問題が発生しているという報告がありました。アプリケーションHTTP POST
は、base64 でエンコードされた小さな文字列を送信するリクエストを数秒ごとにサーバーに送信します。アプリケーションは最初は問題なく動作しますが、約 3 時間後にはサーバーやインターネットにまったく接続できないようです。アプリケーションがファイアウォールの外側にある場合、アプリケーションは問題なく実行できます。
ファイアウォールに関する詳細はありませんが、投稿用の 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時間後にのみ問題になる理由はありますか?