我有一个简单的聊天应用程序使用express和socket.io(v0.9.x)构建,它正在Heroku上运行。现在我已更新到socket.io 1.3.5,但聊天功能已不再有效。
我的服务器配置如下
app.set('port', process.env.PORT || 5000);
var server = app.listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
var io = require('socket.io').listen(server);
然后在客户端(我下载了实际的socket.io.js文件)
script(src='/javascripts/socket.io.js', type='text/javascript')
var socket = io.connect('http://' + document.domain + ':' + location.port);
我注意到的一件事是,当我在本地运行应用程序时,如果我打开开发控制台并输入socket
它会返回socket.io代码,但是当它在Heroku上运行时它只是说Uncaught ReferenceError: socket is not defined
,这可能是我的问题的一部分吗?
更新:为了回应jfriend00的评论,我将客户端上的代码更改回原来的状态,如下所示,但它没有任何区别
script(src='/socket.io/socket.io.js', type='text/javascript')
var socket = io.connect();
此外,没有显示任何错误,但也没有通知说我之前看到socket.io
已启动(不知道它是否在新版本中被弃用,或者是错误的迹象)