2011-07-26 16 views
5

Hola Tengo un servidor de socket en ejecución escrito con PHP.¿Cómo se puede conectar el cliente de Javascript al servidor de socket PHp?

El servidor está a la escucha de las conexiones. ¿Alguna idea de cómo se conectará mi cliente (escrito en javascript) al servidor y le enviará datos?

PD: Solo sé cómo conectar un cliente php al servidor socket pero no estoy seguro de cómo conectar un cliente javascript.

Gracias a todos por su tiempo.

+0

Javascript es un scripting del lado del cliente y no proporciona el zócalo de apertura afaik. No creo que sea posible al momento de escribir. –

+1

¿En qué entorno JS se está ejecutando? ¿Nodo? WSH? ¿ÁSPID? Un complemento de navegador? Un navegador viendo una página web? ¿Algo más? – Quentin

+0

@Lionel Chan: JS es un lenguaje de programación genérico y no proporciona mucho período de E/S, que proviene del entorno de host. – Quentin

Respuesta

-1

En pocas palabras diciendo que no se puede hacer eso, sería una violación de seguridad permitir que el código del lado del cliente abra conexiones de socket.

Sin embargo, podría simular eso: envíe sus datos a otra página PHP como una solicitud AJAX, luego haga que esa página PHP se comunique a través del socket.

Actualización 2017:

Por el momento, websockets se convirtió en una cosa. Tenga en cuenta que el protocolo websocket es una cosa diferente a generic networking sockets

+0

Ummm: http://code.google.com/p/phpwebsocket / – Relic

0

No tengo conocimiento de nada que proporcione capacidades de socket arbitrarias para JS. Existe soporte limitado para Web Sockets (que creo que requerirá que modifique el servidor para que se ajuste al espacio). De lo contrario, simple XHR podría satisfacer sus necesidades (lo que requeriría que modifique el servidor para que funcione como un servicio web). Si el servicio se ejecuta en un origen diferente al de la página, necesitará usar CORS o utilizar un trabajo como JSONP.

4

Responder a una cuestión de edad en caso de las personas les resulta como lo hice a través de Google.

Hoy en día, casi todos los navegadores contemporáneos admiten la API WebSocket Javascript. A través de WS es posible que el cliente JS en el navegador abra los zócalos dúplex completos a los servidores escritos en PHP u otros idiomas. El servidor debe implementar el protocolo WS, pero ahora hay bibliotecas WS para PHP, Java y otros lenguajes.

En este momento de la redacción, las implementaciones de WS aún parecen un objetivo móvil, pero actualmente estoy trabajando con clientes de navegadores WS/JS que se comunican con un servidor WS/Java y parece funcionar.

Sugiera Google para implementaciones de WS en el idioma de su servidor de elección.

Espero que esto ayude!

Cuestiones relacionadas