gpt4 book ai didi

Android socket.io 应用程序无法连接到 node.js 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 10:19:51 25 4
gpt4 key购买 nike

我的应用程序使用 socket.io,无法连接到 node.js 服务器。

服务器 node.js

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

app.listen(1000);

io.on('connection', function (client) {

client.name = client.remoteAddress + ':' + client.remotePort;
console.log(client.name + ' connected!');

client.on('sensorChanged', function (data) {
console.log("HERE");
console.log(data);
});

});

安卓应用:

    SocketIO socket = new SocketIO();
try {
socket.connect("http://localhost:1000/", this);
txtView.setText("connected");
} catch (MalformedURLException e) {
e.printStackTrace();
}

socket.emit("sensorChanged", "argument1");

当我连接到服务器时,服务器不会说“socket.name connected”,也不会发出事件“sensorChanged”。问题出在哪里?

最佳答案

在同一 WiFi 上将带有 Socket.IO 的 Android 应用程序与我的服务器连接时,我也遇到了连接问题(尽管事实上当我尝试在浏览器中连接到相同的 URL 时连接有效)。

我在这里找到了解决方案:https://stackoverflow.com/a/50834600/9560885

简而言之,尝试将这一行添加到您的 AndroidManifest.xml 中:

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>

关于Android socket.io 应用程序无法连接到 node.js 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25592435/

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