来自远程的Socket.io连接

时间:2015-01-08 16:31:01

标签: javascript android node.js socket.io jxcore

我正在使用jxcore(Plesk Panel的nodejs)进行实时应用程序,而且我是nodejs的新手。 应用程序文件index.js正在域mydomain.it上运行:

var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var app = express();
var server = http.createServer( app );

var io = socket.listen( server );

io.sockets.on( 'connection', function( client ) {
  client.on( 'message', function( data ) {
    io.sockets.emit( 'message', {
      name:data.name,
      surname:data.surname
    });
  });
});
server.listen( 8080 );

在同一个域上有一个客户端页面,例如mydomain.it/app,其中包括:

<script src="../node/js/bootstrap.js"></script>
<script src="../node/js/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js"></script>
<script src="../node/js/nodeClient.js"></script>

这是我的nodeClient.js文件:

var socket = io.connect( 'http://mydomain.it:8080' ); 
socket.on( 'message', function( data ) {
  var obj = {
    name:data.name,
    surname:data.surname
  }
  // do something
});

现在,我需要从安装在多个设备上的Android应用程序连接到websocket。 所以有一个域包含nodejs服务器和客户端。和其他远程Android设备(与html5应用程序,用jquery移动开发)。 但我无法连接到套接字,它返回错误(Chrome浏览器上的ERR_CONNECTION_TIMED_OUT)。

从域上的客户端页面,只有在我更改

时才可以连接到套接字
var socket = io.connect( 'http://mydomain.it:8080' );

var socket = io.connect( 'http://127.0.0.1:8080' ); 

但当然我无法使用localhost从远程设备连接到服务器。 Socket.io仅安装在mydomain.it

是否有可能实现这种应用?

由于

0 个答案:

没有答案