Node.js Websockets Socket.IO

Dan*_*Dan 5 websocket node.js

我无法触发客户端事件,请参阅代码/说明:

好的,所以我得到了这个工作(我认为)

客户端代码:

<script src="./Socket.IO/socket.io.js"></script>
<script>
    io.setPath('./Socket.IO/');

    var socket = new io.Socket('jayz.danstanhope.webfactional.com', { 'port': 80 });

    socket.on('connect', function () {
        alert('connect');
    });
    socket.on('message', function (msg) {
        alert('message' + msg);
    });
    socket.on('close', function () {
        alert('close');
    });
    socket.on('disconnect', function () {
        alert('disconnect');
    });
    socket.connect();

</script>
Run Code Online (Sandbox Code Playgroud)

服务器端代码:

var sys = require("sys")
  , fs = require("fs")
  , path = require("path")
  , http = require("http");
var io = require('/home/danstanhope/webapps/htdocs/Socket.IO-node');

var server = http.createServer(function (req, res) {
    //your normal server code
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.write('Hello world');
    res.end();
});

server.listen(26970);
server = io.listen(server);
server.on('connection', function(client){
    sys.log('client connected');
});
Run Code Online (Sandbox Code Playgroud)

当我在Chrome中刷新页面时,我可以看到用Shell编写的日志.

这是我看到的:

danstanhope@web146 htdocs]$ node server.js
9 Aug 19:19:37 - socket.io ready - accepting connections
9 Aug 19:19:40 - Initializing client with transport "websocket"
9 Aug 19:19:40 - Client 21789167495444417 connected
9 Aug 19:19:40 - client connected
9 Aug 19:19:40 - Client 21789167495444417 disconnected
Run Code Online (Sandbox Code Playgroud)

现在唯一的问题是获取任何这些javascript套接字警报.

此外,此错误在Chrome中显示:

Bad Upgrade header: Server: nginx

Date: Wed, 11 Aug 2010 23:06:06 GMT

Transfer-Encoding: chunked

Connection: keep-alive

Upgrade: WebSocket
Run Code Online (Sandbox Code Playgroud)

关于如何修复"坏标题"的任何想法?

谢谢,丹

Kit*_*tto 0

对 websocket 完全不了解,但在客户端代码中,您使用端口 80 初始化套接字,但告诉服务器在端口 26970 上侦听。