¿alguien se anima a aprender websockets y html5?

Topic created · 11 Posts · 4193 Views
  • me apetece probar las websockets con html5 para hacer un chat de prueba. alguien se anima a probar? alguien que sepa a ser posible html y javascript, porque si no no tiene gracia xD

  • La duda ofende _xD_

  • Porfín me harás caso en lo de dejar de lado el IRC? :que?:

  • de momento estoy investigando sobre node.js y socket.io
    con eso debería ser suficiente para probar las web sockets

    primero hay que instalar node.js en el servidor (no debe ser nada especialmente complicado), e inicializar un servidor que escuche en un puerto (distinto del 80, ya que quiero mantener apache) al que luego dirigiremos las web sockets.

    además del node.js luego hay que instalar socket.io, y creo que la forma más fácil de hacerlo es con npm que es el gestor de paquetes de Node.js (algo así como el "yum" de centos o el "apt-get" de ubuntu, pero para Node.js). Es decir, que previamente hay que instalar npm jeje.

    con todo eso debidamente configurado debería ser suficiente para probar una web socket sencilla. Por ejemplo un servidor que repita lo que le dice el cliente (es decir, un eco) y que mande un mensajito al cliente cada cierto tiempo, para probar lo realmente interesante de estas sockets y es que permiten al server hablarle al cliente según le venga en gana, sin que éste haga ninguna petición.

    Si la cosa va bien podemos intentar hacer un chat estilo lo que tuvimos instalado en el foro, pero decente, sin saturar el servidor a lo bestia.

    Porfín me harás caso en lo de dejar de lado el IRC?

    El IRC utiliza sockets TCP normales, es justo lo que javascript y web sockets tratan de emular, un canal de comunicación BIDIRECCIONAL, no el canal http que solamente funciona a base de petición-respuesta.
    El IRC es perfecto en cuanto a eficiencia y velocidad, el problema que tiene es que al ser flash o java pues es un tanto complicado de integrar en una página html

  • @Salvatore said:

    Porfín me harás caso en lo de dejar de lado el IRC?

    El IRC utiliza sockets TCP normales, es justo lo que javascript y web sockets tratan de emular, un canal de comunicación BIDIRECCIONAL, no el canal http que solamente funciona a base de petición-respuesta.
    El IRC es perfecto en cuanto a eficiencia y velocidad, el problema que tiene es que al ser flash o java pues es un tanto complicado de integrar en una página html

    Contra tu artillería pesada no soy capaz de nada jajaja
    Bueno te diré que con un tag board en html te quitas un mogollón de trabajo, es eficiente y además queda bonito por que mismamente lo puedes encajar por encima de la(actualmente desplegable) tabla de actividad.

    Si ya das un paso más y sirven las cuentas del foro con colores de nick, permisos del staff automáticos etc..., pues es una obra de arte. Lo he visto en un par de foros que utilizaban Vbulletin, una pena que ya no estén online para mostrártelos.

  • también hay tagboards para phpbb3, pero no permiten chat privado entre usuarios. Y usan el mismo sistema, peticiones al servidor, unas 2 o 3 por segundo. Es la misma técnica que el chat que teníamos. Es menos pesado claro, pero no se puede comparar con el IRC o la idea de las web sockets.

    Es que además el chat aquel tenía un gravísimo problema, y es que si abrías varias pestañas, cada una de ellas seguía mandando peticiones al servidor. Y claro, el que atiende las peticiones es Apache (son peticiones http normales), que aunque es un servidor potente es mucho más pesado que Node.js por ejemplo.

    Y si configuras el anti ddos en Apache, ¿cómo distingues las peticiones de alguien con varias pestañas de las peticiones de alguien atacando el server? Es que directamente solo con abrir 10 o 20 pestañas en cada navegador el server caería.

    El tagboard tiene el mismo problema con las pestañas? Es probable, en menor medida ya que son menos peticiones, pero muy parecido.

    Y todo esto sabiendo que nunca hemos sido más de 60 personas en el chat a la vez. ¿En un IRC cuántas personas puede haber? Hasta ahora creo que nunca hemos estado más de 20, y el servidor ni lo notaba.

  • Intersante 😄
    muy resaltante es el modo en tiempo real que da al usar nodejs con socket.io

    me gustará ver lo que lograrán 😛

    les dejo algunas guías sobre node.js para el que quiera leer sobre eso
    http://www.genbetadev.com/frameworks/introduccion-a-la-programacion-asincrona-con-nodejs
    http://www.nodebeginner.org/index-es.html

    y para las pruebas, el que quiera hacerlas claro, hay un hosting free que permite usar nodejs:
    http://nodester.com/

    y un video por si quieren ver:
    Youtube Video

    pd: otras cositas que estube viendo podrian ser expresso y passport(framework para autenticaciones).

  • nodester.com me da que no va muy bien, antes he mirado y estaba caído, y los de mejorando.la que hicieron algún ejemplo allí lo tienen también fastidiado.
    si a alguien le interesa quizá merezca la pena probar en https://no.de/
    (yo no he probado esos hosts, para eso tenemos un VPS jeje)

    sobre el chat, hawkings y yo hemos estado trasteando con ello. Tengo instalado node.js, con NPM para instalar módulos. Por ejemplo, el módulo mysql, socket.io y forever para mantener el servidor encendido (forever tiene problemas considerables a día de hoy).
    con todo ello hemos montado un pequeño sistema de chat que consta de una sala global y un sistema de conversaciones privado. Está "enlazado" con la base de datos de un foro phpbb3 de prueba, de forma que es capaz de loguear usuarios al ver sus cookies y de guardar y cargar conversaciones recientes.

    Falta integrarlo de verdad con un phpbb3, a ser posible como un módulo más de socialnetwork MOD o bien sustituyendo el propio módulo de chat de la modificación. Y probarlo a lo bestia, aunque todos los indicios y pruebas apuntan a que Node.js mantendrá el VPS tranquilo por muchos usuarios que haya chateando simultáneamente jeje.

    En cuanto termine exámenes cuelgo un tutorial para instalar Node.js, NPM, socket.io, mysql y forever.

  • yo me animo 😄

  • bueno como verás este hilo es viejo. Tan viejo que a día de hoy el proyecto del que hablábamos es real y está funcionando aquí en el foro xD

    El hilo iba bien encaminado, Node.js primero, "npm" después para poder añadirle módulos a node.js. El primer módulo que necesitamos es "socket.io", luego como usamos bases de datos, el módulo "mysql". Con eso es suficiente para ir probando. Más adelante es necesario meter "forever", para dejar el servidor arrancado sin depender de la consola.

    Si tienes cualquier duda puedes aprovechar este hilo, para tenerlo todo juntito.

    Ah, y si te interesa fisgar algún proyecto hecho con Node-js te dejo https://github.com/TheBronx/realcoding
    Es una pequeña aplicación que permite a un usuario escribir en un textarea y que los visitantes vean lo que escribe prácticamente en tiempo real.
    Lo he hecho yo así que cualquier duda ya sabes. Te recomiendo que le eches un ojo, es muy muy simple, no hay bases de datos, ni apenas eventos ni complicaciones. Tiene lo justo.

Log in to reply