Node + Connect + WebSockets

时间:2010-12-10 11:49:26

标签: node.js websocket

我正在为connect

寻找一个WebSockets lib / middleware

我到目前为止找到的是Socket.IO-connect但是它使用了补丁版本的连接。

这是一个问题,主要是因为Connect的修补版本与主分支的分离。

你能推荐一个好的图书馆吗?

3 个答案:

答案 0 :(得分:2)

目前,对于WebSockets而言,这是一个糟糕的时期,由于协议和破坏的代理存在一些问题,Mozilla和Opera不会将它们与即将发布的版本一起发布,这会导致缓存中毒。在协议修复之前,谷歌很可能也会放弃支持。

到目前为止,搜索中间件没有多大意义,因为协议会很快改变,然后你又要再次搜索,所以现在你也可以使用修补版本如果你真的需要。

详情请见:
http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/
http://blog.pusherapp.com/2010/12/9/it-s-not-websockets-it-s-your-broken-proxy

答案 1 :(得分:1)

你不需要socket.io的连接中间件,事实上,这可能不是最好的方法来使用socket.io和connect。这是我的工作:

var connect = require('connect');
var io = require('socket.io');

var server = connect.createServer(
  connect.router(function(app) {
    app.get('/', function(req, res, next) {
      res.writeHead(200, {'Content-Type': 'text/html'});
      res.end(fs.readFileSync(__dirname + '/assets/index.html', 'utf8'));
      // above file contains <script src="/socket.io/socket.io.js" type="text/javascript"></script>
    });
  })
).listen(80);

var socket = io.listen(server);
socket.on('connection', function(client) {
  client.on('message', function(message) {console.log(message)});
  client.on('disconnect', function() {});
});

答案 2 :(得分:0)

我的socket.io-connect版应运行良好。