问题标签 [reactphp]
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 - React/ZMQ:REQ REP 只工作一次
我正在尝试通过 websocket 向我的服务器发送请求,并从服务器返回回复。这是“某种”工作,但是我只能这样做一次,任何额外的请求都会挂在某个地方。
服务器绑定:
我的服务器上有一个静态 PHP 文件,当我运行它时,想要从服务器返回回复:
现在,当我启动服务器并运行我的 php 文件时,我得到了“返回”响应。但是,当我尝试再次运行它时,它就会挂起。我每次都收到请求?
另外,任何人都可以$pull->on
向我解释一下,我在任何地方都找不到它的作用。
完整的服务器代码:
php - ZMQ REP REQ - 发送接收不起作用
我已经启动并运行了我的 websocket 服务器,并且为了我自己的使用,我想在执行静态 PHP 脚本时取回已连接的列表。
我的 PHP 脚本pull.php
:
然后在我的服务器脚本上:
因此,当我的服务器脚本运行时,我会运行pull.php
. 这有效,并将我发出的response
文本发回给我var_dump
。但是,如果我然后去重新加载我的pull.php
脚本,它就会挂起。我不知道为什么,我在这里假设它没有告诉对方它已收到数据,因此无法发送另一个请求。
另外,我$pull->on('message', array($pusher, 'onPull'));
目前将数据发送到我onPull()
的 Pusher 类中的方法中。目前我什么也没返回,但是如果我返回一些数据,我该如何将其返回给请求者?
php - 在 PHP 中对套接字使用 Reactphp,端口停止监听
我正在开发一个包含聊天系统的 iOS 应用程序(使用这些说明)。该 api 在 LAMP 服务器上运行,因此我使用ReactPhp而不是Twisted for python 作为套接字处理程序在客户端/服务器和服务器/客户端之间进行通信。
这是我用于文件socket.php的代码
然后我就在终端上运行它:
问题:
它工作正常,但是......如果我关闭终端(或使用 ctrl+Z 停止进程),端口将停止监听。从 Apache 启动的那一刻起,如何让套接字一直监听?
关闭终端后(案例 1),如果我
php socket.php
再次尝试运行,我会收到以下消息:无法绑定到 tcp://127.0.0.1:1337:地址已在使用中- 如果端口已在使用中,那为什么关闭终端后无法访问?
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 - 基本同时react http server和websocket server
我设法创建了一个 Web 服务,它在端口 80 上侦听 http 请求并处理 ajax 调用和长轮询。
但我坚持在同一个 php 文件中创建一个类似的 websocke 服务器
浏览器中的代码:
这会在浏览器中触发错误
php - React PHP 获取 POST 数据
我试图在 ReactPHP Web 服务器上运行一个简单的 Web 应用程序,但我不知道从哪里获取来自 HTML 表单的 POST 数据。服务器定义为:
当我使用 HTML 表单发布一些字符串时,该$request
对象在控制台上打印时看起来像:
在这里我无法在任何地方找到我的数据。我认为它应该位于query
物业内,但它是空的。
相反,当我发出 GET 请求时,可以query
在对象的属性中找到在查询字符串中传递的数据$request
。
那么,我在哪里可以找到通过 POST 请求传递的数据?
php - PHP 应用程序中的 Guzzle 池
我正在尝试在 PHP 中使用 Guzzle 池。但是我在处理 ASYNC 请求时遇到了困难。下面是代码片段。
有谁可以让函数等待并获得正确的结果。
php - React / Ratchet / ZMQ 中多个订阅方法的最佳实践
我尝试构建一个小的实时 websocket 用例,用户可以在其中登录并查看所有其他登录的用户,在新用户登录或现有用户注销时收到通知。
对于这种情况,当用户登录或注销时,我在我的 UserController 中使用 ZMQ PUSH Socket。
用户控制器
然后我在 Ratchet 文档中有一个 Pusher 类:链接
在这个类中有两种方法:onUserLogin和onUserLogout,当然还有所有其他的东西,比如
onSubscribe, onOpen, onPublish
用户信息推送器
最后一部分是 WampServer/WsServer/HttpServer,它有一个 Loop 监听传入的连接。还有我的 ZMQ PULL 插座
棘轮服务器控制台
在此示例中,来自 login() 或 logout() 的调用将始终调用这两个方法(onUserLogin 和 onUserLogout)。我找不到一些文档,这些文档描述了我可以在on($event, callable $listener)方法中使用哪些事件,有人有链接/知识库吗?检查 UserController 中哪个方法被触发的最佳方法是什么?
- 我可以在控制器中的 $sUserData 中添加一些信息并在 Pusher 中检查
- 我可以将另一个套接字绑定到不同的端口(例如 5554 用于 PULL 和 PUSH)并在这个端口上使用 on() 方法
- 我可以...是否有另一种最佳实践来解决这个问题?
不需要客户端代码,因为它工作正常
rabbitmq - 使用 react\stomp 只消耗来自 RabbitMQ 的 N 条消息,分别确认它们然后退出
我正在使用带有 PHP react\stomp 的 RabbitMQ。我有两个队列 - 一个是“待办事项”,另一个是“完成”。消费者从“待办事项”中读取,完成其工作,确认消息,然后将其发布到“完成”队列。
有什么方法可以确保我只使用来自“todo”的 N 条消息(并单独确认它们)然后退出?主要原因是我们不希望有长时间运行的消费者,我们希望在 N 条消息后重新启动它们。