1
私はnetcat
ツールでのUnixでこれを実行します。のnetcatスニペット相当、F#(れるtcpClient)で
$ netcat gh05.geekhosters.com 50001
{ "id": 0, "method": "server.version", "params": [ "1.9.5", "0.6" ] }
結果は、執筆時点では、私のこれに返信するサーバです:
{"id": 0, "result": "1.0"}
素晴らしい!今私はF#で同じことをしたい。しかし、
let rec asyncPrintResponse (stream: System.Net.Sockets.NetworkStream) =
async {
let response = stream.ReadByte() |> Char.ConvertFromUtf32
Console.Write(response)
return! asyncPrintResponse stream
}
let TcpClientTest() =
let client = new System.Net.Sockets.TcpClient()
client.Connect("gh05.geekhosters.com", 50001)
let stream = client.GetStream()
let bytes = System.Text.Encoding.UTF32.GetBytes("{ \"id\": 0, \"method\": \"server.version\", \"params\": [ \"1.9.5\", \"0.6\" ] }\n");
asyncPrintResponse stream |> Async.Start
stream.Write(bytes, 0, bytes.Length)
stream.Flush()
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(60.0))
上記プリント:
は、私はこれを試してみました、私は間違って何をやっている{"error": "bad JSON"}
?