我已将文件更改为如下所示。 javascript控制台什么也没显示,网页什么都没显示。只是一个空白的屏幕。有没有人知道一个使用socket.io的网站。我想检查代码,看看他们是如何做到的,因为socket.io页面上没有一个例子适合我。有人知道iptables文件中是否需要额外的端口吗?
使用Chrome浏览器,如果我转到javascript控制台并转到网络标签,我会获得成功,但最后一个电话显示待处理???它看起来像挂了。这可能是防火墙问题吗?
/socket.io/1/websocket
GET
101
Switching Protocols
Pending
Other
127 B
0 B
Pending
它在第168行的选择器中是Pending:
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>
答案 0 :(得分: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');
});