(PECL zmq >= 0.5.0)
ZMQSocket::connect β ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΠΊΠ΅ΡΡ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΠ° ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅
transport://address, Π³Π΄Π΅ transport ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: inproc,
ipc, tcp, pgm ΠΈΠ»ΠΈ epgm.
dsn
ΠΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π½Π½ΡΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ transport://address.
forceΠΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΎΠΊΠ΅Ρ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ZMQSocketException Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ZMQContext()
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΠΎΠΊΠ΅Ρ
<?php
/* ΠΠ΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° */
$dsn = "tcp://127.0.0.1:5555";
/* Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΊΠ΅Ρ */
$socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'my socket');
/* ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΡ
ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ */
$endpoints = $socket->getEndpoints();
/* ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½ Π»ΠΈ ΡΠΎΠΊΠ΅Ρ */
if (!in_array($dsn, $endpoints['connect'])) {
echo "<p>ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ $dsn</p>";
$socket->connect($dsn);
} else {
echo "<p>Π£ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½ ΠΊ $dsn</p>";
}
/* ΠΠΎΡΠ»Π°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ */
$socket->send("ΠΡΠΈΠ²Π΅Ρ!");
$message = $socket->recv();
echo "<p>Π‘Π΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠΈΠ»: {$message}</p>";
?>