2013-05-28 95 views
0

我已經改變了我的文件,看起來如下所示。 javascript控制檯什麼也沒顯示,網頁也沒有顯示任何內容。只是一個空白的屏幕。有誰知道使用socket.io的網站。我想檢查一下代碼,看看它們是如何實現的,因爲socket.io頁面上的所有例子都不適合我。有人知道是否需要在iptables文件中允許額外的端口?Socket.io將無法正常工作

使用Chrome瀏覽器,如果我轉到JavaScript控制檯並轉到網絡選項卡,我會獲得成功,但最後一次調用說待定?它看起來像掛了。這可能是防火牆問題嗎?

/socket.io/1/websocket 
GET 
101 
Switching Protocols 
Pending 
Other 
127 B 
0 B 
Pending 

它在selector.js待上線168:

document.body.appendChild(menuDiv); 

也許這就是爲什麼我沒有看到什麼了嗎?這是正確的服務了socket.io/socket.io.js

文件如下:

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

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

var port = 80; 

var io = require('socket.io').listen(server, { 
log : false 
}); 
io.sockets.on('connection', function(socket) { 
    socket.on('hi', function(data) { 
     console.log('yay'); 
     socket.emit('hello'); 
    }); 
}); 
server.listen(port); 

公共/ index.html的

//index.html 
<script src="http://localhost/socket.io/socket.io.js"></script> 
<script> 
    var chat = io.connect('http://localhost/chat') 
    , news = io.connect('http://localhost/news'); 

    chat.on('connect', function() { 
     chat.emit('hi'); 
    }); 

    chat.on('hello',function(){ 
     console.log('yay got hello'); 
    }); 

    var socket = io.connect('http://localhost:80'); 

    socket.on('connect', function() { 
     chat.emit('hi'); 
    }); 

    socket.on('hello',function(){ 
     console.log('yay got hello'); 
    }); 
</script> 

回答

1

您使用的命名空間newschat即使你的服務器沒有正確實現它們。

你的JavaScript連接應該是這樣的,而不是:

var socket = io.connect('http://localhost:80'); 

socket.on('connect', function() { 
    chat.emit('hi'); 
}); 

socket.on('hello',function(){ 
    console.log('yay got hello'); 
});