Entonces, he estado tratando de entender Socket.io últimamente, pero no soy un gran programador, y casi todos los ejemplos que puedo encontrar en la web (créanme que los he buscado durante horas y horas), tienen cosas adicionales que complican las cosas. Muchos de los ejemplos hacen un montón de cosas que me confunden, o se conectan a alguna base de datos extraña, o usan coffeescript o toneladas de bibliotecas JS que desordenan las cosas.
Me encantaría ver un ejemplo básico y funcional en el que el servidor simplemente envía un mensaje al cliente cada 10 segundos, diciendo qué hora es, y el cliente escribe esos datos en la página o lanza una alerta, algo muy simple. Entonces puedo resolver las cosas a partir de ahí, agregar cosas que necesito como conexiones db, etc. Y sí, he comprobado los ejemplos en el sitio socket.io y no funcionan para mí, y no entiendo lo que hacen. .
Respuestas:
Editar: creo que es mejor que cualquiera consulte el excelente ejemplo de chat en la página de inicio de Socket.IO. La API se ha simplificado bastante desde que proporcioné esta respuesta. Dicho esto, aquí está la respuesta original actualizada de pequeño a pequeño para la API más nueva.
Solo porque me siento bien hoy:
index.html
app.js
fuente
¡Aquí está mi presentación!
si pones este código en un archivo llamado hello.js y lo ejecutas usando el nodo hello.js, debería imprimir el mensaje hello, se ha enviado a través de 2 sockets.
El código muestra cómo manejar las variables para un mensaje de saludo rebotado del cliente al servidor a través de la sección de código etiquetada // Mirror.
Los nombres de las variables se declaran localmente en lugar de todos en la parte superior porque solo se usan en cada una de las secciones entre los comentarios. Cada uno de estos podría estar en un archivo separado y ejecutarse como su propio nodo.
fuente
Quizás esto también pueda ayudarte. Estaba teniendo problemas para entender cómo funcionaba socket.io, así que traté de resumir un ejemplo tanto como pude.
Adapté este ejemplo del ejemplo publicado aquí: http://socket.io/get-started/chat/
Primero, comience en un directorio vacío y cree un archivo muy simple llamado package.json Coloque lo siguiente en él.
A continuación, en la línea de comando, use npm para instalar las dependencias que necesitamos para este ejemplo
Esto puede demorar unos minutos dependiendo de la velocidad de su conexión de red / CPU / etc. Para verificar que todo salió según lo planeado, puede mirar el archivo package.json nuevamente.
Cree un archivo llamado server.js . Obviamente, este será nuestro servidor ejecutado por nodo. Coloque el siguiente código en él:
Cree el último archivo llamado index.html y coloque el siguiente código en él.
Ahora puede probar este ejemplo muy simple y ver un resultado similar al siguiente:
Si abre un navegador web y lo señala al nombre de host en el que está ejecutando el proceso de nodo, debería ver aparecer los mismos números en su navegador, junto con cualquier otro navegador conectado que vea esa misma página.
fuente
Me doy cuenta de que esta publicación tiene varios años, pero a veces los novatos certificados como yo necesitamos un ejemplo de trabajo que esté totalmente reducido a la forma más simple.
cada ejemplo simple de socket.io que pude encontrar involucrado http.createServer (). pero, ¿qué pasa si quieres incluir un poco de magia socket.io en una página web existente? Aquí está el ejemplo más sencillo y pequeño que se me ocurrió.
esto solo devuelve una cadena pasada desde la consola EN MAYÚSCULAS.
app.js
index.html:
correr:
use algo como esta prueba de puerto para asegurarse de que su puerto esté abierto.
ahora navegue hasta http: //localhost/index.html y use la consola de su navegador para enviar mensajes al servidor.
en el mejor de los casos, al usar http.createServer, cambia las siguientes dos líneas por usted:
Espero que este ejemplo muy simple evite algunos problemas a mis compañeros novatos. y tenga en cuenta que me mantuve alejado de usar "palabra reservada" buscando nombres de variables definidos por el usuario para mis definiciones de socket.
fuente
every simple socket.io example i could find involved http.createServer(). but what if you want to include a bit of socket.io magic in an existing webpage
mhm sí ...var app = http.createServer(
- wutindex.html
index.js
Y ejecute estos comandos para ejecutar la aplicación.
y abra la URL: - El
http://127.0.0.1:3000/
puerto puede ser diferente. y verás esta SALIDAfuente