我有两个客户端,如
1.Agent和客户
2.在代理商。我放了一个套接字的谷歌cdn
3.在客户也。我把一个谷歌cdn的插座
4.在代理中将消息传送到nodejs服务器发送给客户
5.但客户不在网站上。
我在节点js服务器端编写此代码
app.io.on('connection', function(socket) {
if(arraySockets.length<2){
arraySockets.push(socket);
if(arraySockets.length==1){
SocketAgent = arraySockets[0];
}
if(arraySockets.length==2){
SocketUser = arraySockets[0];
}
}
if(arraySockets.length==2) {
console.log("dffjdsg");
console.log(socket.id);
SocketUser.on('user', function (data) {
console.log(data);
var data = {
message: 'i am from server'
}
});
SocketAgent.on('agent', function (data) {
console.log(data);
var data = {
message: 'i am from server'
}
SocketUser.emit('outputuser',data);
});
}
});
代理方代码
客户端代理端的services.js文件:
schatApp.factory('socket', function ($rootScope) {
var socket = io.connect('http://localhost:8089/');
return {
on: function (eventName, callback) {
socket.on(eventName, function () {
var args = arguments;
$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);
}
});
});
}
};
});
代理端的控制器端代码
schatApp.controller('homeController', function($scope,socket) {
socket.on('ouputuser',function(data){
alert(data);
});
$scope.Sendingmessage=function(){
var data={message:'hai simhachalam from agent'};
socket.emit('agent',data);
}
});
客户端代码中的客户端代码
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">
</script>
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script>
$(document).ready(function(){
var socket = io.connect('http://localhost:8089/');
$("#sendmessage").click(function(){
var data={message:'iam from user'};
socket.emit('user',data);
});
});
</script>
</head>
<body>
<input type="button" id="sendmessage" value="submit">
</body>
</html>
我正在接收从Agent到节点服务器和客户到节点服务器的消息。 当我交换消息套接字对象重写时。那么我该如何解决问题
socket.on('ouputuser',function(data){
alert(data);
});
数据未从节点js服务器获取