|
WebSurferさん、魔界の仮面弁士さんいろいろと情報をいただきありがとうございます。
サーバからは HTTP/1.1 200 OK などが帰ってきているので 1.1 に対応していると思います。
Fidderでいろいろみていたのですが、リクエスト後の待ち時間をどこで見るのががよくわかりません。
Statisticsのところの以下のところで確認するのでしょうか。
ACTUAL PERFORMANCE
--------------
ClientConnected: 09:50:30.795
ClientBeginRequest: 09:50:40.374
GotRequestHeaders: 09:50:40.374
ClientDoneRequest: 09:50:40.374
Determine Gateway: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
HTTPS Handshake: 0ms
ServerConnected: 09:50:30.810
FiddlerBeginRequest: 09:50:40.374
ServerGotRequest: 09:50:40.374
ServerBeginResponse: 09:50:40.374
GotResponseHeaders: 09:50:40.374
ServerDoneResponse: 09:50:40.374
ClientBeginResponse: 09:50:40.374
ClientDoneResponse: 09:50:40.374
ちなみに以下がコードです。
req.KeepAlive = False を削除して
reqStream.Close()のあとにSystem.Threading.Thread.Sleep(1)をいれても
動きました。ほんの1msの待ち時間ですが、sleep関数呼び出しの待ち時間が影響しているのでしょうか。
Dim postDataBytes As Byte() = System.Text.Encoding.ASCII.GetBytes("POSTしたいXML文字列")
Dim req As HttpWebRequest = CType(WebRequest.Create("http://192.168.X.XXX:8000/api?cls=01"), HttpWebRequest)
req.Credentials = New NetworkCredential("ID", "PASSWD")
req.Method = "POST"
req.ContentType = "appplication/xml"
req.ContentLength = postDataBytes.Length
req.KeepAlive = False
Dim reqStream As Stream = req.GetRequestStream()
reqStream.Write(postDataBytes, 0, postDataBytes.Length)
reqStream.Close()
Dim res As WebResponse = req.GetResponse()
Dim resStream As Stream = res.GetResponseStream()
Dim enc As Text.Encoding = System.Text.Encoding.GetEncoding("UTF-8")
Dim sr As StreamReader = New StreamReader(resStream, enc)
Dim resData As String = sr.ReadToEnd
sr.Close()
resStream.Close()
|