首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据需要在浏览器的两个输出文件中显示服务器发来的socket数据?

如何根据需要在浏览器的两个输出文件中显示服务器发来的socket数据?
EN

Stack Overflow用户
提问于 2013-03-07 13:58:04
回答 1查看 194关注 0票数 0

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-03-07 21:35:58

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

然而,为了让我们理解别人的声音意味着什么,我们开发了一种可以称为通信协议的东西。我们开发了单词,并给它们一个发音。所以,发射器--人们能够将他们所想的转化为声音。接受声音的人能够将这些声音转化为意义。

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

尽管如此,扮演上帝并设计意义、声音(在你的例子中是“消息”)之间的转换规则,以及反过来的转换规则是很有趣的。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15264145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档