节点 socketIO 升级 0.9.17 到 1.34 中断应用程序
node socketIO upgrade 0.9.17 to 1.34 breaks application
将 socketIO 从 0.9.17 升级到 1.3.4 后,我的应用程序不再运行。
有人可以帮忙吗?这是我的应用
通常当我启动时我应该看到
info -socket.io started
现在我什么也没看到,也没有错误。
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server,{transports:['flashsocket', 'websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']});
var port = Number(8080);
server.listen(port);
app.use(express.static(__dirname + '/'));
var temp;
var _this = this;
io.on('connection', function (socket) {
console.log('connection '+socket)
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","wtfwtwftwftwf hello from server");
socket.on('disconnect', function (socket) {
console.log("disconnect");
});
console.log('_this ='+_this);
_this.socket=socket;
});
current socket.io documentation 建议这与您所拥有的略有不同:
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server, {transports:['flashsocket', 'websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']});
var port = Number(8080);
server.listen(port);
app.use(express.static(__dirname + '/'));
var temp;
var _this = this;
io.on('connection', function (socket) {
console.log('connection '+socket);
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","wtfwtwftwftwf hello from server");
socket.on('disconnect', function (socket) {
console.log("disconnect");
});
console.log('_this ='+_this);
_this.socket=socket;
});
此外,您对 _this.socket=socket;
的分配看起来很麻烦,因为这似乎一次只适用于一个连接的客户端。只要您有多个 webSocket 连接,第二个连接就会覆盖第一个。
此外,您应该绝对确保在客户端和服务器上使用兼容的 socket.io 库(例如,两端的版本相同)。
将 socketIO 从 0.9.17 升级到 1.3.4 后,我的应用程序不再运行。
有人可以帮忙吗?这是我的应用
通常当我启动时我应该看到
info -socket.io started
现在我什么也没看到,也没有错误。
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server,{transports:['flashsocket', 'websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']});
var port = Number(8080);
server.listen(port);
app.use(express.static(__dirname + '/'));
var temp;
var _this = this;
io.on('connection', function (socket) {
console.log('connection '+socket)
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","wtfwtwftwftwf hello from server");
socket.on('disconnect', function (socket) {
console.log("disconnect");
});
console.log('_this ='+_this);
_this.socket=socket;
});
current socket.io documentation 建议这与您所拥有的略有不同:
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server, {transports:['flashsocket', 'websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']});
var port = Number(8080);
server.listen(port);
app.use(express.static(__dirname + '/'));
var temp;
var _this = this;
io.on('connection', function (socket) {
console.log('connection '+socket);
socket.on("data",function(d){console.log('data from flash: ',d);});
socket.emit("message","wtfwtwftwftwf hello from server");
socket.on('disconnect', function (socket) {
console.log("disconnect");
});
console.log('_this ='+_this);
_this.socket=socket;
});
此外,您对 _this.socket=socket;
的分配看起来很麻烦,因为这似乎一次只适用于一个连接的客户端。只要您有多个 webSocket 连接,第二个连接就会覆盖第一个。
此外,您应该绝对确保在客户端和服务器上使用兼容的 socket.io 库(例如,两端的版本相同)。