【发布时间】:2014-09-25 22:29:37
【问题描述】:
我想从我的 Java TCP 客户端向我的 Visual Basic 服务器发送一个 TCPMessage。
服务器使用 BinaryReader.ReadString() 函数。
http://msdn.microsoft.com/en-US/library/system.io.binaryreader.readstring.aspx
ReadString 函数需要一个 7 位长度的字符串大小前缀。
目前这是我的代码,但服务器无法识别该消息。
public void sendMessage(String message) {
if (out != null && !out.checkError()) {
out.print(message.length());
out.println(message);
out.flush();
}
}
而且我无法更改整个服务器架构以使其识别字符串,例如来自 ReadLine。
希望有人能提供帮助,现在尝试了几个小时。
【问题讨论】:
-
您不能只将 Java 的二进制序列化与 .NET 一起使用,这是我看到的主要问题。您有什么理由尝试使用 BinaryReader?
-
这是一个异步服务器示例,可以处理断开连接的客户端。我在自己的服务器上处理断开连接或重新连接时总是遇到问题,它总是崩溃。但是我发现这个示例有效,现在我已经添加了更多代码,这就是我不想从头开始的原因。我从中获得样本的人正在使用二进制阅读器来管理它。我已经解决了将数据从 java 客户端发送到 VB 服务器的问题。现在我试图弄清楚如何使用 bufferedreader.readline 方法从 VB 服务器接收数据。有关更多信息,请参阅下面的 cmets
-
恐怕您对 .net 文档的解释是错误的。看到这个other answer。
标签: java