Tengo problemas incluso para obtener la muestra de socket.io muy básica para ejecutar. Por ejemplo, el primer ejemplo de la página de bienvenida de su sitio:obteniendo la muestra básica de socket.io para trabajar
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
en el lado del servidor y
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
en el lado del cliente. Si salvo el lado del servidor en un archivo host.js
, y el lado del cliente en un archivo client.htm
, y corro npm host.js
, consigo
info - socket.io started
warn - error raised: Error: listen EADDRINUSE
que está ya en realidad no espera. Luego, para el client.htm
(o al menos eso es lo que creo que se supone que debo hacer con él, pegándolo en un archivo client.htm), solo obtengo una pantalla en blanco. No es muy sorprendente, ya que comienza incluyendo un archivo no existente /socket.io/socket.io.js
, pero incluso cambiando esto a host.js
(que supongo que se supone que es) no cambia el hecho de que solo aparece una pantalla en blanco ...
No tengo idea.
¿Importa qué puerto? Intenté 81 y ahora simplemente se cuelga cuando ejecuta el lado del host, es decir, dice 'info - socket.io started', pero no regresa a la línea de comandos. La página .htm aún está en blanco, por lo que parece que no resuelve el problema. – user1111929
Resolvió el error EADDRINUSE que fue su primer problema. Sí, eso importa. Tampoco está colgando: el servidor se está ejecutando en espera de las comunicaciones. Entonces, ahora ha solucionado la mitad del problema del lado del servidor. – bryanmac
para el lado del cliente del problema, ¿actualizó la página htm para conectarse a http: // localhost: 81 (no el: 81)? – bryanmac