StreamWriter.Flush();不会冲洗

时间:2012-06-16 19:46:36

标签: c# java unity3d flush

我正在尝试使用C#

将Unity游戏链接到Java服务器

当Java服务器启动时,我可以发送数据的唯一方法是关闭实际关闭连接的StreamWriter(OUT.Close();)。所以我只能发送数据。或者,每次我想发送消息时,我都必须重新连接到服务器。

当我只使用Flush()时,数据将不会发送到服务器。 代码:

NetworkStream STREAM = connection.GetStream();
StreamWriter OUT = new StreamWriter(STREAM);
OUT.Write(text);
OUT.Flush()

这是我的阅读代码:

BufferedReader input = new BufferedReader(new InputStreamReader(client.getInputStream()));
String inputstring = input.readLine(); 

1 个答案:

答案 0 :(得分:1)

您使用Write编写没有行分隔符的文本,并使用ReadLine进行阅读,因此不匹配。如果没有行分隔符,ReadLine将读取到流的末尾,这解释了为什么需要关闭流。将Write替换为WriteLine