0

我正在尝试使用 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(); 
4

1 回答 1

1

您使用 编写不带行分隔符的文本Write并使用 读取ReadLine,因此这不匹配。在没有行分隔符的情况下,ReadLine读取到流的末尾,这解释了为什么需要关闭流。替换WriteWriteLine

于 2012-06-16T21:07:08.580 回答