我在基于使用Java编写的服务器的.NET Core中编写服务器。在.NET的核心,我有:JSON.NET中的Flush()无法按预期方式工作
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中,服务器的代码如下所示:
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客户端在这里产生错误:
jsonReader.beginArray();
result = gson.fromJson(jsonReader, Result.class);
在Java中,一切正常,但在.net核心没有。我已经通过Wireshark检查了数据包,并发送了一切。而当我调试客户端时,我有一个错误:"Incomplete document", java.io.IOException: Incomplete document"
。什么可能是错误的?
难道你不需要调用writer.WriteEndArray()? –
@PalleDue是和两个代码都是这一行,但在writer.flush之后。即使我之前写过,通过我调试同样的错误:java.io.IOException:不完整的文档。 – Nju