我正在以角度js创建工厂的套接字,但是on
& emit
作为连接的localhost:5793。我的意思是var socket = io.connect();
& socket = io.connect('http://localhost:5793');
是2个不同的连接。对吧?如何2插槽io是相同的变量(连接)?
var App = angular.module("App", [
]);
App.factory('socket', ['$rootScope', function($rootScope) {
var socket = io.connect();
return {
connect: function() {
socket = io.connect('http://localhost:5793');
},
on: function(eventName, callback) {
socket.on(eventName, callback);
},
emit: function(eventName, data) {
socket.emit(eventName, data);
}
};
}]);
答案 0 :(得分:0)
使用此行,您可以创建新的套接字连接 - 虽然我不完全确定,因为您没有传递任何URL
var socket = io.connect();
然后使用以下代码覆盖变量socket
并丢失对先前打开的套接字的引用
connect: function() {
socket = io.connect('http://localhost:5793');
},
所以底线变量套接字只能引用一个连接而不是两个连接