2016-07-07 4 views
0

私はserverとしてnode.jsを使い、私のipはexample.com:4000です。したがって、サーバー側のソケットのエンドポイントはexample.com:4000でなければなりません。私はlocalhostからexample.com:4000に何かを出そうとしても、それを動作させることができます。Socket.ioはアプリからは出ませんか? (イオン性)

しかし、私はアプリを持っている(私は実際のデバイスでイオンを使っている)が、ソケットはsocket.ioの発光を出さないようだ。私はなぜこの問題をデバッグしようとしたのか2日経っているのだろうか。要約すると、サーバー側の

私のコード

var server = require("http").Server(express); 
var io = require("socket.io")(server); 
server.listen(400); 

io.on('connection', function(client) { 
    client.on('msg', function(data) { 
     console.log(data) 
    }); 
}); 

クライアント側

//angular service 
.factory('socket',function(socketFactory){ 

    var myIoSocket = io.connect('http://example.com:4000'); 

    mySocket = socketFactory({ 
     ioSocket: myIoSocket 
    }); 

    return mySocket; 
}); 

//within my controller 
socket.emit('msg',data); 

私はアプリにしようとすると、物事は、ローカルホスト上で働いていたではありませんか?私は例が動作していることを知っているので、このコードを実行するには

+0

詳細を投稿してくださいあなたのコードを含めて、人々はあなたを助けるために助けてください。 StackOverflowへようこそ! – betseyb

+0

@betseyb done、自分のコードを追加しました。 –

+0

とは何ですか? –

答えて

0

試してみてください。

工場

MyApp.factory('socket', function ($rootScope) { 
    var socket = io.connect('http://localhost:9000'); 
    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); 
        } 
       }); 
      }) 
     } 
    }; 
}); 

コントローラ

MyApp.controller('MainCtrl', function($scope, socket){ 
    $scope.users = []; 
    socket.emit('connection'); }); 
... 

サーバー側

"use strict"; 
var express = require('express'); 
var app  = express(); 
var server = require('http').Server(app); 
var io = require('socket.io')(server); 
io.on('connection', function(socket) { 
    console.log('connected!'); 
    socket.on('disconnect', function() { 
    console.log('user disconnected'); 
    }); 
}); 
server.listen(9000, function() { 
    console.log('server up and running at 9000 port'); 
}); 
+0

ここで何を言おうとしていますか?私のコードでさえも問題ありません。 –

+0

それはちょうどテストです、あなたはそのコードをテストしましたか? –

+0

私のコードとあなたのロジックは同じです。 –

関連する問題