【发布时间】:2013-05-27 16:12:55
【问题描述】:
我正在尝试找到一种可靠的方式来发送遵循定义协议的控制消息,以便告诉服务器他将收到什么样的数据。比如我想发送纯文本消息来调用远程方法:
#METHOD1#CLOSE#
或者我想向服务器发送一个序列化的对象:
#OBJECT# .......here comes the serialized object data....#CLOSE#
所以基本上我只想发送完全独立的字符串控制消息 接下来的流内容。
通过将输入流包装到 Scanner 对象中,我可以从输入流中提取字符串,但如果此流是序列化对象,则之后无法恢复该对象。感谢您的帮助。
【问题讨论】:
-
为什么不为此目的使用许多现有协议之一?例如,JSON-RPC?您有什么具体要求吗?
-
如果可能的话,它应该是一个纯基于套接字的解决方案。我只是想知道如何做到这一点。
-
“如果可能”不是正当理由。这就是为什么我问你的要求。如果现有协议已经满足您的需求,则根本没有理由破解您自己的协议。不要重新发明轮子!
-
这是一个作业。字符串协议不是问题,因为我可以轻松地将控制消息附加到实际消息字符串。然而,最简单的解决方案似乎是继承 ObjectOutputStream。
标签: java sockets serialization tcp protocols