twn39 / code

:memo: 代码笔记,通过 issue 的方式记录日常遇到的问题和学习笔记
13 stars 1 forks source link

Zeromq 操作 #59

Open twn39 opened 9 years ago

twn39 commented 9 years ago

zeromq 是高性能的消息队列系统

twn39 commented 9 years ago

PHP

依赖包:php5-zmq

Reply-Request

server.php

<?php
$server = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REP);

$server->bind("tcp://*:5555");

while ($message = $server->recv()) {
    echo "Got message: $message\n";
    $server->send($message);
}

client.php

<?php
$client = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$client->connect("tcp://127.0.0.1:5555");
$client->send('hello, yo!');

PAIR

server.php

<?php
$server = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PAIR);
$server->bind("tcp://*:5555");
while ($message = $server->recv()) {
    echo "Got message: $message\n";
    $server->send($message);
}

client.php

<?php
$client = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PAIR);
$client->connect("tcp://127.0.0.1:5555");
while(1) {
    $client->send('hello, yo!');
    $message = $client->recv();
    echo $message;
    sleep(1);
}