2013-06-05 2 views
1

Вот мой серверSocket.io дает Добро пожаловать на Socket.io сообщение

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); 
    }); 
}); 

Вот мой клиент index.html

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io.connect('http://localhost:80'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 

Вот мои commaneds

node server.js 

и на браузере Я нахожу URL-адрес localhost:80/index.html

после удара выше URL-адреса Я получаю сообщение Добро пожаловать в socket.io.

Я использую nodeJS v0.10.9

+1

Хорошо, Круто! Что вы от нас хотите? –

ответ

2

socket.iosocket.io обеспечивает сервер, а не веб-сервера. Таким образом, index.html в контексте socket.io не существует.

Вместо этого, вы можете использовать Express для обеспечения базового веб-сервера, в сочетании с socket.io для обеспечения обмена сообщениями:

// server.js 
var express = require('express'); 
var app  = express(); 
var server = require('http').createServer(app); 
var io  = require('socket.io').listen(server); 

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

app.use(express.static(__dirname + '/public')); 

server.listen(80); 
// ./public/index.html 
<!doctype html> 
<html> 
    <head> 
    <script src="/socket.io/socket.io.js"></script> 
    <script> 
     var socket = io.connect(); // let socket.io autodiscover the server 
     socket.on('news', function (data) { 
     console.log(data); 
     socket.emit('my other event', { my: 'data' }); 
     }); 
    </script> 
    </head> 
    <body> 
    <h1>Hello World</h1> 
    </body> 
</html> 
Смежные вопросы