2013-12-24 194 views
0

這裏是我的app.js的一部分:Socket.io連接不起作用

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

io.sockets.on('connection', function (socket) { 
    console.log("we are in connection"); 
    socket.emit('entrance', {username: req.session.user}); 
}); 
server.listen(3000); 

我從來沒有得到既不是終端還是瀏覽器(這是很明顯的) 這裏上的控制檯消息是我的客戶端:

doctype html 

html 
    head 
    script(type='text/javascript', src='/socket.io/socket.io.js') 
    script(type='text/javascripts', src='/javascripts/jquery.js') 
    script(type='text/javascripts', src='/javascripts/client.js') 
    script(type='text/javascripts') 
     var socket = io.connect('http://localhost') 
     socket.on('entrance', function (data) { 
      console.log(data); 
      socket.emit('my other event', { my: 'data' }) 
     }) 

    link(rel='stylesheet', href='/stylesheets/style.css') 
    title Chat Room 
    body 
    div#container 
     ul#messages 

    input(type="text",name="message",id='message_input') 
    a#logout(href='/logout') Log Out 
+0

你在客戶端腳本中使用了什麼? –

+0

您是否正在瀏覽器控制檯或終端控制檯中...您是否還用命令'node app.js'啓動了app.js? – Sir

+0

我已編輯我的帖子。請查閱。 @Dave我當然正在運行服務器。 – RazorHead

回答

0

嘗試更換前三行:

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

的d離開你的server.listen線。

+0

訂單是否重要? – RazorHead

+0

只要你在訪問它們之前定義變量,不是非常。 –