我编写了一个简单的应用程序并在 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 = "";
}