我在基於使用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