Хорошо, я думаю, вам нужно понять разницу здесь сначала между сервером и интерфейсом. Таким образом, ваш сервер работает на NodeJS, а ваш интерфейс - на угловом. Gulpjs не имеет ничего общего с этими обоими. Чтобы понять, что именно делает глоток, это watch this. Теперь вы хотите создать чат-систему с помощью Socket io. У вас есть код, но теперь вы смущены, куда его поместить. Поэтому, если я прав, вы хотите иметь такую функциональность, как вход в систему на вашем сайте с разными идентификаторами электронной почты, и они хотят общаться друг с другом. Как вы строите эту функцию. Если это действительно ваш вопрос. Прошу прокомментировать ниже. Если нет, пожалуйста, обновите свой вопрос, чтобы было более ясно, чего именно вы хотите достичь, чтобы мы могли вам помочь.
Нет сары, вы не ставите свой код сокета io в файл gulpfile. Вы должны создать контроллер в угловом режиме. Он должен ссылаться на сервер. Так что канал установлен. Угловой --------------- Узел Необходимо сначала установить эту ссылку. Как вы это сделаете? В вашем index.html
Тогда в вашем nodeJS app.js Do НОЙ Сетевой розетки выразить --save
var express = require('express');
var app = express();
var server = require('http').Server(app); //you don't need to require a model for this. This functionality is already built in NodeJS
var io = require('socket.io')(server);
И когда это будет сделано. В том же app.js типа
io.emit("this_should_be_same", {
data: {
lat: data.lat,
lng: data.lng
}
});
Теперь в вашем приложении угловой. Сделать все проще. В вашем app.js, где вы даете свои маршруты и прочее. Пожалуйста, дайте эту фабрику.
var ypurApp = angular.module('myApp',[]);
yourApp.factory('socket', function($rootScope) {
var socket = io.connect('localhost:5040');
return {
on: function(eventName, callback) {
socket.on(eventName, function() {
var args = arguments;
//console.log(args);
$rootScope.$apply(function() {
callback.apply(socket, args);
});
});
},
emit: function(eventName, data, callback) {
socket.emit(eventName, data, function() {
var args = arguments;
$rootScope.$apply(function() {
if (callback) {
callback.apply(socket, args);
}
});
});
}
};
});
Теперь вы можете вводить его в любом контроллере, как
angular.module('myApp').controller('chatController',['socket', function(socket){
socket.on("this_should_be_same", function(data){
console.log(data);
});
}]);
Это должно сделать это. Я знаю, что вы придумаете сомнения, не стесняйтесь спрашивать меня.