问题标签 [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.

0 投票
1 回答
1306 浏览

php - Websockets 和 Vagrant

我在这个Ratchet库中使用 PHP 中的 websockets。它在我的本地机器上运行良好(没有流浪汉)。

服务器端代码:

客户端代码:

但是,当我在我的虚拟机中使用它时(带有 vagrant),它不起作用。

服务器端代码:

客户端代码:

0 投票
0 回答
1402 浏览

php - Websocket:无法与基本 Websocket 服务器建立连接

我已经使用棘轮 php 尝试了非常基本的 websocket 教程,正如http://socketo.me/docs/hello-world中所示

websocket服务器的代码:

要运行我做的服务器:

为了测试与服务器的连接,我做了:

在本地测试时,这工作得非常好。用户可以使用多个 telnet 终端聊天。

然后我将代码上传到实时服务器。并尝试运行服务器。然后尝试像以前一样使用telnet连接到该服务器,它无法连接。它只显示“正在尝试..”消息,然后显示“无法连接到远程主机:连接超时”。

我不知道为什么会这样,问题是什么。代码完全相同。这是我正在做的非常基本的 hello world 示例。谁可以帮我这个事。使用“Websockets”是否对实时服务器有任何其他要求才能工作。

更新: 实际上,实时服务器是Amazon EC2;这是否需要为 websocket 设置额外的东西才能工作?

0 投票
0 回答
819 浏览

symfony - ZMQ、Autobahn、Ratchet -> 有时不推送消息

我面临着一个相当大的问题,我真的不知道它是由什么引起的。我网站上的很多东西都是通过 websockets 完成的,例如向客户端推送消息。

为了推动,我正在使用 ZMQ 和 Ratchet。

这是php代码:

这是推送服务器:

问题是:有时消息根本不会被推送。这是非常随机地发生的。有时它就像连续 20 条消息的魅力,有时则不然。

有谁知道这可能是由什么引起的?顺便说一句,我正在使用 nginx 作为网络服务器。是否有任何类型的日志可能会有所帮助?

问候

0 投票
0 回答
646 浏览

symfony - 棘轮会议

我有Ratchet(Symfony2)会话的问题。看起来 Ratchet 仅在打开连接时检查会话,而例如,如果会话在客户端连接时过期,$conn->Session仍然包含旧会话的数据。

我使用 PDO 会话处理程序在我的 symfony 网站和 Ratchet 服务器之间共享会话数据。当我在客户端连接之前从数据库中删除会话时,Ratchet 检测到该会话不存在,但是,如果客户端连接然后我从数据库中删除会话 - Ratchet 不会“看到”该会话不再存在并且$conn->Session包含旧的变量。

这是一个非常麻烦的事情,因为例如,当客户端连接时,用户可能会从站点注销(或者会话可能会简单地过期),并且由于 Ratchet 不知道会话已被破坏,因此我们不能依赖会话。

0 投票
1 回答
1093 浏览

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

0 投票
2 回答
2184 浏览

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。

0 投票
1 回答
2742 浏览

javascript - can JavaScript websocket get return value from server?

javascript websocket send()

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?

0 投票
1 回答
1073 浏览

websocket - Ratchet WAMP onpublish 总是向所有客户端发布,包括发布调用者吗?

我刚刚为 Ratchet WAMP + autobahn 版本 1 制作了一个聊天 hello world。
如果您想查看完整的源代码,请点击此处

JavaScript 客户端发送聊天消息:

PHP Ratchet 服务器发布消息:

在此处输入图像描述

我不明白为什么用 excludeme 发布不起作用。
在上面2个firefox,对firefox说:我是吧。该消息不应该显示在他自己身上,但确实如此。

doc ref: 高速公路版本 1 javascript 发布与 excludeme

文档参考:棘轮发布

doc ref: 棘轮主题广播

0 投票
1 回答
624 浏览

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

0 投票
1 回答
59 浏览

php - 让客户端与服务器上的进程通信

我在服务器上有一个交互式 cli 程序(游戏)。我想创建一个与该程序通信的网络应用程序。proc_open 似乎可以解决问题,但我必须在处理每个请求后关闭该进程。

此过程输出需要发送到客户端,客户端将使用适当的输入进行响应。因为这是一个游戏,所以这个循环可以持续一段时间。

我的问题是:如何在等待客户端输入时保持服务器上的进程运行。

我做了一些研究,我想知道 Ratchet IO (websockets) 是否是最好的方法?