调用post.php
会将数据发送到我的Web套接字服务器。如果您通过浏览器调用相同的脚本,则不会。
此问题仅在我的本地计算机上发生。一旦使用相同的PHP版本/设置将其部署到Centos 7,它就可以在浏览器中正常运行。
1)将服务器绑定IP更改为0.0.0.0
而不是127.0.0.1
2)更改了服务器和客户端端口
// This is our new stuff
$context = new ZMQContext();
$socket = $context->getSocket(ZMQ::SOCKET_PUSH, 'my pusher');
$socket->connect("tcp://127.0.0.1:55555");
$socket->send(json_encode($entryData));
预期结果是在CLI / CMD上输出数据。这不是本地发生的。没有错误。
Q:ZMQ
Context
是未发送来自浏览器/ PHP的数据
就观察到的失望而言,自从2.11+以来,与ZeroMQ一起生活了一段时间,现在是some时间,我敢于对ZeroMQ Zen的设计与艺术说一个坏话-of-Zero。
鉴于您的MCVE代码甚至没有尝试收集和验证无错误状态,因此在运行时,很难在没有可用细节的情况下进行分析。
Monitor
以查看所有活动直播您的使用环境适用于tcp://
-transport-class,因此您很高兴能够衍生出一个套接字-[[Monitor
] >>
事件库,套接字-[[Monitor
?ZMQ_EVENT_CONNECTED, ZMQ_EVENT_CONNECT_DELAYED, ZMQ_EVENT_CONNECT_RETRIED, ZMQ_EVENT_LISTENING, ZMQ_EVENT_BIND_FAILED, ZMQ_EVENT_ACCEPTED, ZMQ_EVENT_ACCEPT_FAILED, ZMQ_EVENT_CLOSED, ZMQ_EVENT_CLOSE_FAILED, ZMQ_EVENT_DISCONNECTED, ZMQ_EVENT_MONITOR_STOPPED, ZMQ_EVENT_HANDSHAKE_FAILED, ZMQ_EVENT_HANDSHAKE_SUCCEED
如何实例化ZeroMQ套接字-[[
Monitor
ZeroMQ使用双面基础结构,其中第1部分)通过调用以下实例在Context()
实例引擎内部“实例化”:int zmq_socket_monitor ( void *socket, char *endpoint, int events );
这将完成工作的前半部分-为Context()
配备一个新的(内部,已向.bind()
-transport-class配备已发布的内部inproc://
)AccessPoint
.connect()
外部获取Monitor
--基于外部ZMQ_PAIR
-基于原型的事件侦听器(该角色扮演者)第2部分的基础设施只是第1部分的.connect()
-s,其余部分由您自己承担。 API文档定义了有关通过此链接从被监视的Context()
实例发送到监视监听器的手的多帧消息的所有详细信息。鉴于上面定义的问题,此套接字-
[Monitor
Monitor
-Listener可以使用精确到纳秒的时间戳标记每个标签,并在单独的(遥测专用诊断)GUI / CLI上显示它们。[[[[
方法使应用程序线程可以跟踪ZeroMQ套接字上的套接字事件(如连接)。每次对此方法的调用都会创建一个zmq_socket_monitor()
ZMQ_PAIR
套接字,并将其绑定到指定的inproc://
端点。要收集套接字事件,必须创建自己的[ZMQ_PAIR
套接字,并将其连接到端点。events参数是您要监视的套接字事件的位掩码,请参阅下面的受支持事件。要监视所有事件,请使用事件值[
。NOTE:随着添加新事件,catch-all值将开始返回它们。依赖严格且固定的事件顺序的应用程序不得使用ZMQ_EVENT_ALL
[
,以保证与未来版本的兼容性。每个事件以两个帧发送。第一帧包含一个事件编号(16位)和一个事件值(32位),该事件值根据事件编号提供其他数据。第二帧包含一个字符串,用于指定受影响的TCP或IPC端点。对于示例监视器/解码器代码,可能是look here。ZMQ_EVENT_ALL