gpt4 book ai didi

java - 无法连接到Android上的本地socketIO Nodejs服务器

转载 作者:行者123 更新时间:2023-12-02 04:23:36 24 4
gpt4 key购买 nike

我制作了一个基本的 Nodejs 服务器,当用户连接到服务器时,它会进行控制台日志记录。我为此使用套接字 io,因为我想制作一个聊天应用程序。在我的 Android 端,我尝试创建与此本地服务器的连接,但当我尝试并且 socket.connected 保持为 false 时,我从未收到控制台日志。尝试连接时也永远不会出现错误或其他问题

我尝试了一些来自互联网的例子。我有 1 个示例正在工作,删除了我没有使用的所有内容,但它仍然有效。我从该示例复制粘贴到我自己的项目中,但仍然不起作用。这是example我用过。

这是我的项目代码 Node JS:

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

app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
console.log('a user connected');
});

http.listen(3000, function(){
console.log('listening on *:3000');
});

安卓:

public class MainActivity extends Activity {
private Socket socket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ChatApplication app = (ChatApplication) getApplication();
socket = app.getSocket();
socket.connect();
}
}

ChatApplication 类:

public class ChatApplication extends Application {
private Socket mSocket;
{
try {
mSocket = IO.socket("http://192.168.0.109:3000");
} catch (Exception e) {
Log.e("Error", e.toString());
}
}

public Socket getSocket() {
return mSocket;
}
}

最佳答案

Android Studio 模拟器通常会阻止本地主机连接,我不确定这是否发生在您的情况下,但它发生在我身上。尝试在 Android Studio 中弹出您的 Logcat 并查看是否可以找到指示本地主机连接被拒绝的信息。

不确定是否是这样,但你应该检查一下。

关于java - 无法连接到Android上的本地socketIO Nodejs服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56620077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com