我写了一个简单的应用并在Chrome中测试过。一切正常! 现在我正在使用qupzilla进行测试,但是当我触发.emit函数时,没有任何反应! 从chrome我写了一个东西,对象被更新并发送到服务器,服务器做广播。一切都很好(qupzilla也收到更新)。 但是,如果我在qupzilla上写一些内容,则不会将此更新发送到服务器(节点中没有日志)
这是一些代码。
服务器端:
var io = require('socket.io').listen(8080);
io.set("log level", 1);
var dataStored = [];
io.sockets.on('connection', function (socket) {
socket.emit('event', dataStored);
socket.on('update', function (data) {
console.log(data);
dataStored = data;
socket.broadcast.emit("event", data);
});
});
客户方:
$scope.things = [];
$scope.pushingObj = "";
// socket
var socket = io.connect("http://localhost:8080", {
'connect timeout': 500,
reconnect: true,
'reconnection delay': 500,
'reopen delay': 500,
'max reconnection attempts': 10000
});
socket.on("event", function(data) {
$scope.things = data;
$scope.$apply();
});
//
$scope.pushObj = function() {
//console.log($scope.pushingObj);
$scope.things.push($scope.pushingObj);
socket.emit("update", $scope.things);
$scope.pushingObj = "";
}