ZMQSocket::connect

Connect the socket

&reftitle.description; public `ZMQSocket` `ZMQSocket::connect` `string` `dsn` `bool` `force`&false;

Connect the socket to a remote endpoint. The endpoint is defined in format `transport://address` where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

&reftitle.parameters;

`dsn`

- The connect dsn, for example `transport://address`.

`force`

- Tries to connect even if the socket has already been connected to given endpoint.

&reftitle.returnvalues;

Returns the current object.

&reftitle.errors;

Throws `ZMQSocketException` on error.

&reftitle.examples;

### A `ZMQContext` example

Construct a new context and allocate request socket from it

    <?php
    /* Server hostname */
    $dsn = "tcp://127.0.0.1:5555";

    /* Create a socket */
    $socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'my socket');

    /* Get list of connected endpoints */
    $endpoints = $socket->getEndpoints();

    /* Check if the socket is connected */
    if (!in_array($dsn, $endpoints['connect'])) {
        echo "<p>Connecting to $dsn</p>";
        $socket->connect($dsn);
    } else {
        echo "<p>Already connected to $dsn</p>";
    }

    /* Send and receive */
    $socket->send("Hello!");
    $message = $socket->recv();

    echo "<p>Server said: {$message}</p>";
    ?>