# ZMQContext::getSocket

(PECL zmq >= 0.5.0)

ZMQContext::getSocket — Crear un nuevo socket

### Descripción

public ZMQContext::getSocket(int `$type`, string `$persistent_id` = `null`, callable `$on_new_socket` = `null`): ZMQSocket

Método rápido para crear nuevos sockets desde un contexto. Si el contexto no es persistente, el parámetro `persistent_id` es ignorado y el socket se convierte en no persistente. `on_new_socket` solamente se invoca cuando se crea una estructura de socket subyacente.

### Parámetros

`type`

  Constante `ZMQ::SOCKET_*` para especificar el tipo de socket.

`persistent_id`

  Si se especifica `persistent_id`, el socket será persistente durante varias peticiones.

`on_new_socket`

  Función de retrollamada que es ejecutada cuando se crea una nueva estrucutra de socket. Esta función no es invocada si la conexión persistente subyacente es reutilizada. La retrollamada toma ZMQSocket y persistent_id como dos argumentos.

### Valores devueltos

Devuelve un objeto ZMQSocket.

### Errores/Excepciones

Lanza una ZMQSocketException en caso de error.

### Ejemplos

Ejemplo #1 Un ejemplo de ZMQContext()

Basic usage

`<?php
/* Asignar un nuevo contexto */
$context = new ZMQContext();
/* Crear un nuevo socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');
/* Conectar con el socket */
$socket->connect("tcp://example.com:1234");
/* Enviar una petición */
$socket->send("Hello there");
/* Recibir la respuesta */
$message = $socket->recv();
echo "Received message: {$message}\n";
?>`