代理到客户消息转换

时间:2016-05-02 05:15:37

标签: javascript node.js sockets

我有两个客户端,如

1.Agent和客户

2.在代理商。我放了一个套接字的谷歌cdn

3.在客户也。我把一个谷歌cdn的插座

4.在代理中将消息传送到nodejs服务器发送给客户

5.但客户不在网站上。

  1. 我在节点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);
            });
        }
    });
    
  2. 代理方代码

  3. 客户端代理端的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服务器获取

0 个答案:

没有答案