问题标签 [ratchet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Websockets 和 Vagrant
我在这个Ratchet库中使用 PHP 中的 websockets。它在我的本地机器上运行良好(没有流浪汉)。
服务器端代码:
客户端代码:
但是,当我在我的虚拟机中使用它时(带有 vagrant),它不起作用。
服务器端代码:
客户端代码:
php - Websocket:无法与基本 Websocket 服务器建立连接
我已经使用棘轮 php 尝试了非常基本的 websocket 教程,正如http://socketo.me/docs/hello-world中所示
websocket服务器的代码:
要运行我做的服务器:
为了测试与服务器的连接,我做了:
在本地测试时,这工作得非常好。用户可以使用多个 telnet 终端聊天。
然后我将代码上传到实时服务器。并尝试运行服务器。然后尝试像以前一样使用telnet连接到该服务器,它无法连接。它只显示“正在尝试..”消息,然后显示“无法连接到远程主机:连接超时”。
我不知道为什么会这样,问题是什么。代码完全相同。这是我正在做的非常基本的 hello world 示例。谁可以帮我这个事。使用“Websockets”是否对实时服务器有任何其他要求才能工作。
更新: 实际上,实时服务器是Amazon EC2;这是否需要为 websocket 设置额外的东西才能工作?
symfony - ZMQ、Autobahn、Ratchet -> 有时不推送消息
我面临着一个相当大的问题,我真的不知道它是由什么引起的。我网站上的很多东西都是通过 websockets 完成的,例如向客户端推送消息。
为了推动,我正在使用 ZMQ 和 Ratchet。
这是php代码:
这是推送服务器:
问题是:有时消息根本不会被推送。这是非常随机地发生的。有时它就像连续 20 条消息的魅力,有时则不然。
有谁知道这可能是由什么引起的?顺便说一句,我正在使用 nginx 作为网络服务器。是否有任何类型的日志可能会有所帮助?
问候
symfony - 棘轮会议
我有Ratchet
(Symfony2)会话的问题。看起来 Ratchet 仅在打开连接时检查会话,而例如,如果会话在客户端连接时过期,$conn->Session
仍然包含旧会话的数据。
我使用 PDO 会话处理程序在我的 symfony 网站和 Ratchet 服务器之间共享会话数据。当我在客户端连接之前从数据库中删除会话时,Ratchet 检测到该会话不存在,但是,如果客户端连接然后我从数据库中删除会话 - Ratchet 不会“看到”该会话不再存在并且$conn->Session
包含旧的变量。
这是一个非常麻烦的事情,因为例如,当客户端连接时,用户可能会从站点注销(或者会话可能会简单地过期),并且由于 Ratchet 不知道会话已被破坏,因此我们不能依赖会话。
php - Maximum interval on react loop->addPeriodicTimer is 2147 seconds
I'm running a timer using react\eventloop on my ratchet wamp app. I would like to have it run hourly at 3600 seconds, but for some reason if I set the interval higher than 2147 seconds I get this warning:
What's so special about 2147 seconds? And what can I do to bypass this contraint?
The Event Handler
The Server
php - 棘轮PHP内存泄漏
我使用 Ratchet 作为一些基于浏览器的游戏的套接字服务器,我注意到一个非常奇怪的行为。
我的应用程序类实现了 WampServerInterface,我注意到在 4-5 个客户端连接和断开连接(通过 autobahn.js)之后,一些内存(大约 300KB)仍然卡住。然后,如果另外 7-8 个客户端连接和断开连接,则内存使用量不会增加。当 10-12 个新客户端连接和断开连接时,它会增加,所以我的印象是它重用了内存,但我仍然担心当许多客户端连接到服务器时它会导致内存泄漏。
然后我决定做一些测试,我做了一个实现 MessageComponentInterface 的应用程序类(这样我就可以连接到 telnet)。下面是启动服务器的代码:
我的应用程序类非常简单,看起来像这样:
最后,我制作了一个 bash 脚本,在无限循环中连接和断开连接:
运行 bash 脚本后,我注意到了相同的行为 - 几个周期后,内存使用量增加了。
这个问题是否与 Ratchet(或 React)有关,或者这只是 PHP 的问题?我忘了提到我使用启用了 GC 的 PHP 5.5.3。
javascript - can JavaScript websocket get return value from server?
Hello, I am a newbie of websocket programming.
I have read and try the javascript websocket send(), it send a message to websocket server.
Can I call the server and get return value from server? or I must use the WAMP sub-protocol?
websocket - Ratchet WAMP onpublish 总是向所有客户端发布,包括发布调用者吗?
我刚刚为 Ratchet WAMP + autobahn 版本 1 制作了一个聊天 hello world。
如果您想查看完整的源代码,请点击此处
JavaScript 客户端发送聊天消息:
PHP Ratchet 服务器发布消息:
我不明白为什么用 excludeme 发布不起作用。
在上面2个firefox,对firefox说:我是吧。该消息不应该显示在他自己身上,但确实如此。
php - can Thruway PubSub allow amend message before publish?
chat application example.
Mr A (07-Aug-2017 15:01) : hello all
Mr B (07-Aug-2017 15:20) : hello Mr A
The Server Date Time (dd-mmm-yyyy hh:mm) is inserted by Server. Which I can easy done in Ratchet.
Ratchet.Wamp.WampServerInterface api document
Inside the OnPublish, Where I can amend the message before really publish out.
Can Thruway do the same ? I cannot find any Thruway doc, and I see the examples but not found what I want.Thruway Examples
php - 让客户端与服务器上的进程通信
我在服务器上有一个交互式 cli 程序(游戏)。我想创建一个与该程序通信的网络应用程序。proc_open 似乎可以解决问题,但我必须在处理每个请求后关闭该进程。
此过程输出需要发送到客户端,客户端将使用适当的输入进行响应。因为这是一个游戏,所以这个循环可以持续一段时间。
我的问题是:如何在等待客户端输入时保持服务器上的进程运行。
我做了一些研究,我想知道 Ratchet IO (websockets) 是否是最好的方法?