我有一台PC服务器(用C#编写),一台PC客户机(用Java编写),一台Android客户机客户机(与PC客户机代码相同)。当我从PC客户端向服务器发送消息时,我收到一条带有一个receive()的消息。但是当我从android客户端向服务器发送消息时,单个receive()最终会有多条消息。
我正在使用TCP,我知道它是基于流的协议。但是为什么PC客户端总是一次发送1条消息。我怎么能用android客户端实现呢?
答案 0 :(得分:0)
您无法做任何事情,以确保您在一次read()
电话中收到完整的讯息。在TCP中没有消息这样的东西。它是一个字节流协议。如果你想要消息,你必须使用应用程序协议自己实现它们。