首页 > 解决方案 > 为什么我的 Node.js 服务器只连接我的桌​​面应用程序而不连接其他东西(模拟器、apk)?

问题描述

我使用带有libgdx的Android Studio创建了一个新项目,该项目尝试连接到具有如下代码的 Node.js 服务器:

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

var serv = server.listen(8080,function () {
    var port = serv.address().port;
    //a code I've found online to show on what adress im listening
    //"Example app listening at http://192.168.178.15:8080"
    require('dns').lookup(require('os').hostname(), function (err, add, fam) {
        console.log('Example app listening at http://%s:%s', add, port);
    })
});
io.on('connection', function(socket){
    console.log("Connected!");
.
.

我的应用代码

 public void connectSocket(){
            System.out.println("Connection to the socket has started");
            try {
                socket = IO.socket("http://192.168.178.15:8080");
                socket.connect();
                System.out.println("connected"); // says it's connected, but on app or emulator it's not
            } catch(Exception e){
                System.out.println(e);
                System.out.println("not connected");
            }

问题 当我运行我的 .jar 或 DesktopLauncher 类时,一切正常,我连接。当我使用手机或模拟器时,我没有收到错误消息,它会尝试连接,但没有任何关于连接的记录。好像应用程序找不到服务器一样。

我试过的

我已经尝试了所有可以在网上找到的东西:

标签: androidnode.jsandroid-studioserverlibgdx

解决方案


推荐阅读