【发布时间】:2016-04-05 13:31:50
【问题描述】:
我正在阅读 websockets,在阅读了很多教程和博客(主要是关于创建一个简单的聊天应用程序)之后,仍然有 1 个问题没有得到解答:
除了使用的技术类型(node.js 或 python 的 php)之外,如果没有首先将客户端事件发送到 websocket 服务器(通常称为 onconnect( ) 或 onmessage() )。
那么是否不可能有一些外部应用程序或事件调用一些脚本(bash 或 php),这些脚本使用现有的正在运行的 websocket 实例向一个或多个连接的浏览器(websocket 客户端)发送/广播一些信息(文本)? ?
对不起,如果这是一个愚蠢的问题,但我无法通过阅读网络上的这些博客找到答案。
感谢您的澄清。
【问题讨论】:
-
如果有人没有联系你显然不能给他发消息?
-
你的意思是你只想侵入已经运行的服务器并发送信息,或者我错过了什么? :) 如果您的意思是将发送函数移出
on connect处理程序 - 当然可以! -
我知道最先有一个来自 websocket 客户端的 connect()。到目前为止我明白了。在这个 connect() 上,我可以从 websocket 服务器发送一个回复,比如“欢迎用户!”。但是……这是我最根本的问题:如果我 - websocket 服务器 - 想要向这个用户发送第二条消息“用户,你知道你仍然连接吗?”。如何在没有 websocket 用户先向 websocket 服务器发送内容的情况下发送第二条消息?在这里破解一些东西并不有趣,这是一个严肃的问题。
-
@Andrey Popov:你说“当然可以!”你能告诉我如何或指向一个解释这个的教程吗?
-
到目前为止,我想出的唯一可行的解决方案是让我的外部应用程序也成为订阅 websocket 服务器的 websocket 客户端。当我的外部应用程序的 ID 发送消息时,我只是执行一些其他逻辑。