如何根据需求将服务器发送的socket数据显示在浏览器的两个输出字段中


how to display socket's data sent from server in two output fileds in browser according to the requirements?

我正在使用websockets设计一个PHP聊天程序。在客户端,我想显示聊天和在线用户在两个不同的输出字段。由于聊天消息和在线用户都是使用相同的socket_send()方法从服务器发送的,那么如何在客户端区分服务器是否发送了在线用户或聊天消息,当我在客户端收到套接字的数据时,以便我可以在两个不同的输出字段中显示它们。

希望你能理解我想说的话。我在客户端使用javascript。

在您的例子中,WebSocket连接类似于现实世界中的空气。WebSocket消息对应于声音。当人们发出声音时,这些声音通过空气传到其他人的耳朵里。

然而,为了让我们理解别人的声音意味着什么,我们开发了一种可以被称为通信协议的东西。我们发展单词并赋予它们发音。所以,发射者能够将他们的想法转化为声音。接收的人能够把这些声音转换成感觉。

到目前为止,您的客户端和服务器之间有air (WebSocket)。你可以发出声音(发送信息)。但到目前为止,两者都缺少一种通信协议,一种共同的理解。你必须提供这个。别无他法。你会意识到这可能会成为一项相当复杂的任务。

尽管如此,在意义、声音(在你的例子中是"信息")和其他方式之间设计转换规则是很有趣的。

所以,继续吧,发明一个协议。其他人都是这么说的。您应该提出某些对象类型,例如UserMessage,您将为消息分配属性,例如senderrecipient。然后,您很可能会以某种形式对这些对象进行编码,将它们放入消息中,并在客户机和服务器之间发送这些消息。

客户端服务器都需要知道基本对象类型,并且需要知道对象在这些消息中是如何编码的。