La extensi贸n de sockets implementa una interfaz de bajo nivel con las funciones de comunicaci贸n de sockets, basadas en los populares sockets BSD, ofreciendo la posibilidad de actuar como un servidor de sockets, as铆 como cliente.
Para una interfaz m谩s gen茅rica de sockets del lado del cliene, vea stream_socket_client(), stream_socket_server(), fsockopen(), y pfsockopen().
Cuando use estas funciones, es importante recordar que, aunque muchas de ellas tienen nombres id茅nticos a sus contrapartes en C, usualmente cuentan con declaraciones distintas. Por favor, aseg煤rese de leer las descripciones, con el prop贸sito de evitar confusiones.
Aquellos que no se encuentran familiarizados con programaci贸n de sockets, pueden encontrar una gran cantidad de material 煤til en las p谩ginas man de Unix apropiadas, y existe una enorme cantidad de informaci贸n estilo tutorial sobre programaci贸n de sockets en C en la web, mucha de la cual puede aplicarse, con ligeras modificaciones, a la programaci贸n de sockets en PHP. El FAQ de Sockets Unix puede ser un buen comienzo.
No se necesitan bibliotecas externas para construir esta extensi贸n
The socket functions described here are part of an extension to PHP which must be enabled at compile time by giving the --enable-sockets option to configure.
Nota: El soporte para IPv6 fue agregado en PHP 5.0.0 .
Esta extensi贸n no tiene directivas de configuraci贸n en php.ini.
Esta extensi贸n no tiene ning煤n tipo de recurso definido.
Estas constantes est谩n definidas por esta extensi贸n y estar谩n disponibles solamente cuando la extensi贸n ha sido o bien compilada dentro de PHP o grabada din谩micamente en tiempo de ejecuci贸n.
La extensi贸n de sockets fue escrita para ofrecer una interfaz usable a los poderosos sockets BSD. Se ha tenido cuidado para que las funciones trabajen igualmente bien en implementaciones Win32 y Unix. Casi todas las funciones de sockets pueden fallar bajo ciertas condiciones y por lo tanto emiten un mensaje E_WARNING que describe el error. Algunas veces esto no ocurre conforme al deseo del desarrollador. Por ejemplo, la funci贸n socket_read() puede emitir repentinamente un mensaje E_WARNING debido a que la conexi贸n ha sido cerrada inesperadamente. Es com煤n suprimir la advertencia con el operador @ y atrapar el c贸digo de error dentro de la aplicaci贸n con la funci贸n socket_last_error(). Puede llamar la funci贸n socket_strerror() con 茅ste c贸digo de error para recuperar una cadena que describe el error. Vea su descripci贸n para m谩s informaci贸n.
Nota: Los mensajes E_WARNING generados por la extensi贸n de sockets se encuentran en Ingl茅s, aunque el mensaje de error recuperado aparecer谩 dependiendo de la localidad actual (LC_MESSAGES):
Warning - socket_bind() unable to bind address [98]: Die Adresse wird bereits verwendet
Ejemplo 2. Ejemplo de Socket: Cliente TCP/IP simple Este ejemplo muestra un cliente HTTP simple, de un paso. Simplemente se conecta con una p谩gina, envia una petici贸n HEAD, imprime la respuesta, y sale.
|