2013-05-28 4 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

Вы используете Пространства имен news и chat несмотря на то, ваш сервер не реализует их правильно.

Вы Javascript соединение должно выглядеть следующим образом, вместо:

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

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

socket.on('hello',function(){ 
    console.log('yay got hello'); 
}); 
Смежные вопросы