# ZMQSocket::connect

(PECL zmq >= 0.5.0)

ZMQSocket::connect — Connect the socket

### Description

public ZMQSocket::connect ( string `$dsn` [, bool `$force` = `FALSE` ] ) : ZMQSocket

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.

### Parameters

`dsn`

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

`force`

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

### Examples

Example #1 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>";
?>`

### Return Values

Returns the current object. Throws ZMQSocketException on error.