[jquery] Error con websocket

Iniciado por $francisco, Octubre 07, 2014, 05:21:21 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Octubre 07, 2014, 05:21:21 PM Ultima modificación: Octubre 08, 2014, 02:54:13 PM por Expermicid
tengo este código:

Código: javascript
$(document).ready(function(){
    //Open a WebSocket connection.
    var wsUri = "ws://localhost:80/chat/index.php";   
    websocket = new WebSocket(wsUri);
   
    //Connected to server
    websocket.onopen = function(ev) {
        alert('Connected to server ');
    };
   
    //Connection close
    websocket.onclose = function(ev) {
        alert('Disconnected');
    };
   
    //Message Receved
    websocket.onmessage = function(ev) {
        alert('Message '+ev.data);
    };
   
    //Error
    websocket.onerror = function(ev) {
        alert('Error '+ev.data);
    };
   
     //Send a Message
    $('#send').click(function(){
        var mymessage = 'This is a test message';
        websocket.send(mymessage);
        alert('algo');
    });
});


importe la librería jquery para poder utilizar websocket
Código: php
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>


al iniciar mi página me dice "error undefinied", "disconect".

¿donde esta el error?

Octubre 07, 2014, 05:27:40 PM #1 Ultima modificación: Octubre 07, 2014, 05:30:26 PM por Alexander1712
lo más probable es que tengas un error en el handshake o en el tema del masking del lado del servidor y no del lado de javascript.

me refiero a que tienes un problema en el chat/index.php

¿con qué estás haciendo el servidor?

saludos!

Tengo instalado appserv en windows xp, utilizo html5, php y css3, con intención de utilizar una base de datos, te muestro también el código html.

index.php
Código: html5
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="sock.js"></script>
</head>
<body>

<div id="chat">
<div class="header">
<span>chat hackloper<span>
</div>
<div class="static">
<div class="content_all">
<div class="text">
<div class="write">
</div>
<div class="inbox">
<div class="cont_inbox">
<div class="in"><input type="text"></div>
<div id="send"><button>send</button></div>
</div>
</div>
</div>
<div id="new">
</div>
</div>
</div>
</div>


</body>
</html>


Como puedes ver solo intento hacerlo funcionar, pero no encuentro el fallo.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Tengo instalado appserv en windows xp, utilizo html5, php y css3, con intención de utilizar una base de datos, te muestro también el código html.

index.php
Código: html5
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="sock.js"></script>
</head>
<body>

<div id="chat">
<div class="header">
<span>chat hackloper<span>
</div>
<div class="static">
<div class="content_all">
<div class="text">
<div class="write">
</div>
<div class="inbox">
<div class="cont_inbox">
<div class="in"><input type="text"></div>
<div id="send"><button>send</button></div>
</div>
</div>
</div>
<div id="new">
</div>
</div>
</div>
</div>


</body>
</html>


Como puedes ver solo intento hacerlo funcionar, pero no encuentro el fallo.

te reitero, el problema no está en el javascript, el problema está en el servidor, y con servidor me refiero al código php que se encuentra a la escucha de recibir conexiones.

si quieres trabajar con websockets, del lado del cliente usa jquery como la haces hasta ahora, pero del lado del servidor utiliza las librerías de PHPSocket Master:

Repositorio del código:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Para descargarlo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

en la carpeta src están los archivos necesarios para trabajar con sockets en php y tiene un archivo para trabajar con websockets en php que está funcionando bajo el estándard del protocolo actual.

Además tiene una wiki con documentacion de las funciones y de los ejemplos:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

y hay un ejemplo en particular donde se muestra como utilizar websockets para montar un chat tanto con la librería de websockets que biene incorporada, como con un control individual y propio usando solo los sockets básicos.

saludos!

Muchas gracias por todo, pero hay algo que sigo sin entender, si quiero que funcione mi código de jquery creado con websocket ¿tengo que implemntar phpwebsocket en mi pagina php? no entendí bien que me falta para hacer que funcione, perdona por mi ignorancia jeje.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Tengo instalado appserv en windows xp, utilizo html5, php y css3, con intención de utilizar una base de datos, te muestro también el código html.

index.php
Código: html5
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="sock.js"></script>
</head>
<body>

<div id="chat">
<div class="header">
<span>chat hackloper<span>
</div>
<div class="static">
<div class="content_all">
<div class="text">
<div class="write">
</div>
<div class="inbox">
<div class="cont_inbox">
<div class="in"><input type="text"></div>
<div id="send"><button>send</button></div>
</div>
</div>
</div>
<div id="new">
</div>
</div>
</div>
</div>


</body>
</html>


Como puedes ver solo intento hacerlo funcionar, pero no encuentro el fallo.

te reitero, el problema no está en el javascript, el problema está en el servidor, y con servidor me refiero al código php que se encuentra a la escucha de recibir conexiones.

si quieres trabajar con websockets, del lado del cliente usa jquery como la haces hasta ahora, pero del lado del servidor utiliza las librerías de PHPSocket Master:

Repositorio del código:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Para descargarlo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

en la carpeta src están los archivos necesarios para trabajar con sockets en php y tiene un archivo para trabajar con websockets en php que está funcionando bajo el estándard del protocolo actual.

Además tiene una wiki con documentacion de las funciones y de los ejemplos:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

y hay un ejemplo en particular donde se muestra como utilizar websockets para montar un chat tanto con la librería de websockets que biene incorporada, como con un control individual y propio usando solo los sockets básicos.

saludos!

Wait!...

Para qué quiere hacer un servidor completo?? No es más simple un HTTP request a un .php que se encarge de eso (De tan solo devolver los últimos mensajes)?
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Octubre 08, 2014, 02:22:47 PM #6 Ultima modificación: Octubre 08, 2014, 02:31:38 PM por $francisco
Si pero los mensajes tienen que llegar a todos, ya intente lo de websocket, y sigo teniendo un problema tras otro, el primero que no era compatible con php6 y después me daba un error en algunas dll de modo que no puedo ejecutar phpwebsocket te dejo una imagen.



lo de http request suena bien, ¿alguna página para ver algún ejemplo?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si pero los mensajes tienen que llegar a todos, ya intente lo de websocket, y sigo teniendo un problema tras otro, el primero que no era compatible con php6 y después me daba un error en algunas dll de modo que no puedo ejecutar phpwebsocket te dejo una imagen.



lo de http request suena bien, ¿alguna página para ver algún ejemplo?

Aquí lo del HTTP Request: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Y lo que de dice Alex: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si pero los mensajes tienen que llegar a todos, ya intente lo de websocket, y sigo teniendo un problema tras otro, el primero que no era compatible con php6 y después me daba un error en algunas dll de modo que no puedo ejecutar phpwebsocket te dejo una imagen.



lo de http request suena bien, ¿alguna página para ver algún ejemplo?

Aquí lo del HTTP Request: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Y lo que de dice Alex: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

si quiere hacer un chat, eso que propones es terrible D:

ahora sobre tus errores, tenes bien instalado php cli?

te recomiendo altamente que uses mis librerías que si son compatibles con php 5.6 en adelante, pero para anteriores tenes que hacer cargar el archivo singleton.php no el para versión 5.6 ya que uso las últimas tecnologías.

saludos!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aquí lo del HTTP Request: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Y lo que de dice Alex: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

si quiere hacer un chat, eso que propones es terrible D:

ahora sobre tus errores, tenes bien instalado php cli?

te recomiendo altamente que uses mis librerías que si son compatibles con php 5.6 en adelante, pero para anteriores tenes que hacer cargar el archivo singleton.php no el para versión 5.6 ya que uso las últimas tecnologías.

saludos!

Sé que es una locura hacer eso xD Pero es solo un ejemplo; se puede hacer mucho mejo, usando inclusive request http simples...
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aquí lo del HTTP Request: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Y lo que de dice Alex: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

si quiere hacer un chat, eso que propones es terrible D:

ahora sobre tus errores, tenes bien instalado php cli?

te recomiendo altamente que uses mis librerías que si son compatibles con php 5.6 en adelante, pero para anteriores tenes que hacer cargar el archivo singleton.php no el para versión 5.6 ya que uso las últimas tecnologías.

saludos!

Sé que es una locura hacer eso xD Pero es solo un ejemplo; se puede hacer mucho mejo, usando inclusive request http simples...

no es una locura, es una sobrecarga innecesaria, tenes que estar pidiendo los cambios una y otra vez al servidor, mientras que con sockets te llegan los mensajes. yo hice un chat con peticiones y era una carga impresionante.

saludos!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Aquí lo del HTTP Request: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Y lo que de dice Alex: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

si quiere hacer un chat, eso que propones es terrible D:

ahora sobre tus errores, tenes bien instalado php cli?

te recomiendo altamente que uses mis librerías que si son compatibles con php 5.6 en adelante, pero para anteriores tenes que hacer cargar el archivo singleton.php no el para versión 5.6 ya que uso las últimas tecnologías.

saludos!

Sé que es una locura hacer eso xD Pero es solo un ejemplo; se puede hacer mucho mejo, usando inclusive request http simples...

no es una locura, es una sobrecarga innecesaria, tenes que estar pidiendo los cambios una y otra vez al servidor, mientras que con sockets te llegan los mensajes. yo hice un chat con peticiones y era una carga impresionante.

saludos!

A eso iba con locura xD Pero suponiendo que uno no tiene acceso a CLI, cual sería entonces la mejor solución?
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.