【发布时间】:2015-06-02 14:39:36
【问题描述】:
是否可以在 gulp 中运行的客户端服务器上与节点中运行的其他服务器建立简单的 socket.io 连接?
.--------. .----------. .----------.
|SERVER A| | | | SERVER B |
| (Gulp) | | CLIENT | | (Nodejs) |
| PORT | <--> | SIDE | <--> | PORT |
| 2772 | | | | 8000 |
'--------' '----------' '----------'
我尝试使用socket.io-client 但我有点困惑.. 但我是这样使用它的:
服务器.js
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = process.env.PORT || 8000;
var ioClient = require('socket.io-client');
var client = ioClient.connect( "http://localhost:" + 2772 );
io.on('connection', function(socket){
console.log('a user connected')
socket.on('disconnect', function(){
console.log("a user disconnected")
});
});
client.on('connection', function(socket){
console.log('a user connected')
client.on('disconnect', function(){
console.log("a user disconnected")
});
});
在我的 Angular..
App.js
var myApp = angular.module('ngclient', ['ngRoute','ui.bootstrap','ui.select','ngSanitize', 'btford.socket-io']);
控制器
myApp.controller('dailydoseController', ['$scope', 'chatSocket', function($scope, chatSocket){
}]);
工厂
myApp.factory('chatSocket', ['socketFactory', function(socketFactory){
return socketFactory;
}]);
只是相关的...整个代码太长了..请帮助
【问题讨论】:
-
我很困惑......你为什么称“Angular”服务器A? Angular 都是客户端。看起来您需要一个简单的客户端->服务器套接字连接。
-
对不起,是 gulp 服务器
-
对,但是 gulp 没有建立套接字连接,客户端是。 gulp 只是提供静态的 html/js/css/images。所以,你想建立从 CLIENT 到 SERVER B 的连接
-
你可以给我们一个直接链接到 socketFactory 的来源,以及你是如何使用它的。您是否在客户端 html 页面上包含了从套接字服务器提供的 socket-io.js?您似乎完全错过了教程的一部分。
-
video 这是视频..
标签: javascript angularjs node.js sockets server