我的设计
我正在使用套接字来实现聊天服务器。
客户端使用 Java 的java.net.Socket和BufferedReader从服务器读取消息。
服务器端使用 Php 的socket_read()从客户端获取消息。
它使用 Php 的socket_write()从服务器发送消息。socket_write() 不保证整个原始消息都会被写出,这意味着我可能需要多次调用它才能发出整个原始消息。
(在设计方面,客户端向服务器发送消息,服务器将这些消息重新路由到适当的客户端。)
关注点
我担心的是一条消息可能会被分解成几个较小的消息。所以当服务器或客户端读取传入的消息时,它实际上可能是原始消息的片段。
问题
这是我需要考虑的事情吗?如果是,如何?
可能的解决方案
现在我正在考虑使用字节填充(这是一种网络技术,用于将字节插入原始消息中,作为标志在发送消息之前标记消息的开始和结束)。