0

我已将文件更改为如下所示。javascript 控制台什么也不显示,网页什么也不显示。只是一个空白屏幕。有谁知道使用 socket.io 的网站。我想检查代码以了解它们是如何做到的,因为 socket.io 页面上的示例都不适合我。有人知道 iptables 文件中是否需要允许额外的端口吗?

使用 Chrome 浏览器,如果我转到 javascript 控制台并转到 Network 选项卡,我会成功,但最后一个调用显示 Pending ??? 好像挂了。这可能是防火墙问题吗?

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

它在第 168 行的 selector.js 中待定:

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>
4

1 回答 1

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');
});
于 2013-05-28T20:08:29.087 回答