【发布时间】:2012-11-28 00:31:44
【问题描述】:
我正在为 connect 寻找 WebSockets 库/中间件
目前我找到的是Socket.IO-connect,但它使用的是Connect的补丁版本。
这是一个问题,主要是因为 Connect 的修补版本与主分支分离。
你能推荐一个好的图书馆吗?
【问题讨论】:
我正在为 connect 寻找 WebSockets 库/中间件
目前我找到的是Socket.IO-connect,但它使用的是Connect的补丁版本。
这是一个问题,主要是因为 Connect 的修补版本与主分支分离。
你能推荐一个好的图书馆吗?
【问题讨论】:
现在,对于 WebSockets 来说是一个糟糕的时机,Mozilla 和 Opera 不会将它们与即将发布的版本一起提供,因为协议存在一些问题和代理损坏,这会导致缓存中毒。在协议修复之前,Google 很可能也会放弃支持。
所以到目前为止,搜索中间件没有多大意义,因为协议很快就会改变,然后你必须再次搜索,所以现在你可以使用补丁版本如果你真的需要。
详情见:
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
【讨论】:
您不需要 socket.io 的连接中间件,事实上这可能不是将 socket.io 与连接一起使用的最佳方式。这是我的工作:
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() {});
});
【讨论】:
readFileSync 的规模会很大...... 呸,不要在这里发动火焰战争。
我的socket.io-connect 版本应该可以正常工作。
【讨论】: