我想使用 ZeroMQ 发布者/订阅者将数据从我的 Web 应用程序分派到多个服务器。
我将 Apache 和 PHP 用于 Web 应用程序,我的 php 脚本的工作方式如下:
//Initialization
$context = new ZMQContext();
$publisher = $context->getSocket(ZMQ::SOCKET_PUB);
$publisher->bind("tcp://*:5556");
//Then publishing for testing:
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
为了测试,我从 python 的文档中改编了一个订阅者:
import sys
import zmq
# Socket to talk to server
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect ("tcp://localhost:5556")
# Subscribe to zipcode, default is NYC, 10001
socket.setsockopt(zmq.SUBSCRIBE, "")
print "Waiting..."
# Process 5 updates
for update_nbr in range (5):
string = socket.recv()
print string
当我从命令行运行 php 脚本但不能通过 Apache 运行时(当脚本通过 Web 浏览器运行时),整个事情都有效。
我应该对我的 Apache 配置做些什么来使其正常工作吗?
谢谢
亚历山大