Javaで書かれたサーバーに基づいて.NETコアにサーバーを書きます。私が持っているネットコアで:JSON.NETのFlush()が期待どおりに動作しない
Json Writer writer = new JsonWriter(new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")));
writer.beginArray();
Result result = new Result();
gson.toJson(result, Result.class, writer);
writer.flush(); //Java client still waiting
と、エラーが生成されたJavaクライアント:Javaで
JsonSerializer serializer = new JsonSerializer();
JsonWriter writer = new JsonTextWriter(OutputStream);
writer.WriteStartArray();
serializer.Serialize(writer, result); //result = [{ "Success": true}
writer.Flush(); //Java client received message and generate error: Incomplete document
、サーバコードがどのように見えるJavaでは
jsonReader.beginArray();
result = gson.fromJson(jsonReader, Result.class);
、すべてが、動作しますしかし、ネットのコアではありません。私はWiresharkによってパケットをチェックし、すべてが送信されました。クライアントをデバッグするとエラーが発生します:"Incomplete document", java.io.IOException: Incomplete document"
何が間違っていますか?
writer.WriteEndArray()を呼び出す必要はありませんか? –
@PalleDueはい、どちらのコードでも、この行はwriter.flushの後にあります。私がこれを前に書いたとしても、私からデバッガまで同じエラーが出る:java.io.IOException:不完全なドキュメント。 – Nju