Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: $francisco en Octubre 07, 2014, 05:21:21 PM

Título: [jquery] Error con websocket
Publicado por: $francisco en Octubre 07, 2014, 05:21:21 PM
tengo este código:

Código (javascript) [Seleccionar]
$(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
<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?
Título: Re:[jquery] error con websocket
Publicado por: Alex en Octubre 07, 2014, 05:27:40 PM
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!
Título: Re:[jquery] error con websocket
Publicado por: $francisco en Octubre 07, 2014, 05:32:16 PM
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) [Seleccionar]
<!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.
Título: Re:[jquery] error con websocket
Publicado por: Alex en Octubre 07, 2014, 05:36:29 PM
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) [Seleccionar]
<!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:
https://github.com/alexander171294/PHPSocketMaster

Para descargarlo:
https://github.com/alexander171294/PHPSocketMaster/archive/master.zip

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:
https://github.com/alexander171294/PHPSocketMaster/wiki

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!
Título: Re:[jquery] error con websocket
Publicado por: $francisco en Octubre 07, 2014, 05:45:33 PM
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.
Título: Re:[jquery] error con websocket
Publicado por: fermino en Octubre 07, 2014, 07:27:30 PM
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) [Seleccionar]
<!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:
https://github.com/alexander171294/PHPSocketMaster

Para descargarlo:
https://github.com/alexander171294/PHPSocketMaster/archive/master.zip

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:
https://github.com/alexander171294/PHPSocketMaster/wiki

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)?
Título: Re:[jquery] error con websocket
Publicado por: $francisco en Octubre 08, 2014, 02:22:47 PM
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.

(https://dl.dropboxusercontent.com/u/30418660/Nuevo%20Imagen%20de%20mapa%20de%20bits.bmp)

lo de http request suena bien, ¿alguna página para ver algún ejemplo?
Título: Re:[jquery] error con websocket
Publicado por: fermino en Octubre 08, 2014, 05:58:19 PM
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.

(https://dl.dropboxusercontent.com/u/30418660/Nuevo%20Imagen%20de%20mapa%20de%20bits.bmp)

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

Aquí lo del HTTP Request: http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 (http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931)
Y lo que de dice Alex: http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket (http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket)
Título: Re:[jquery] error con websocket
Publicado por: Alex en Octubre 08, 2014, 08:36:32 PM
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.

(https://dl.dropboxusercontent.com/u/30418660/Nuevo%20Imagen%20de%20mapa%20de%20bits.bmp)

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

Aquí lo del HTTP Request: http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 (http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931)
Y lo que de dice Alex: http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket (http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket)

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!
Título: Re:[jquery] error con websocket
Publicado por: fermino en Octubre 08, 2014, 08:48:56 PM
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: http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 (http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931)
Y lo que de dice Alex: http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket (http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket)

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...
Título: Re:[jquery] error con websocket
Publicado por: Alex en Octubre 08, 2014, 09:06:30 PM
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: http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 (http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931)
Y lo que de dice Alex: http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket (http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket)

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!
Título: Re:[jquery] error con websocket
Publicado por: fermino en Octubre 08, 2014, 11:23:34 PM
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: http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931 (http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931)
Y lo que de dice Alex: http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket (http://www.sanwebe.com/2013/05/chat-using-websocket-php-socket)

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?