关于我的服务器和客户端 android 应用程序中的套接字的问题
Posted
技术标签:
【中文标题】关于我的服务器和客户端 android 应用程序中的套接字的问题【英文标题】:Having issue regarding the socket in my server and the client side android application 【发布时间】:2021-10-21 04:26:31 【问题描述】:我们正在尝试通过 https 服务器连接套接字,几天后我们的 ssl 证书在服务器上过期,所以我们只使用 Let's encrypt 为我们的服务器获取免费的 ssl,然后我们运行陷入麻烦。 而且我们还在使用带有 socket.io-redis 的套接字 nodejs中的包版本:- "socket.io": "^1.7.3", "socket.io-redis": "^4.0.0",
android中的包版本:-
io.socket:socket.io-client:0.8.3 我们的应用程序没有从套接字连接其余一切工作正常。 我们收到错误的一个应用程序; io.socket.engineio.client.EngineIOException:xhr 轮询错误
另外我正在提供服务器端代码,请尽快帮助我 nodejs中的后端 客户端android(应用程序)
nodejs 代码
var https = require("https");
var server = https.createServer(
key: fs.readFileSync(process.env.SSL_KEY),
cert: fs.readFileSync(process.env.SSL_CERT),
, app);
else
var server = http.createServer(app);
global.io = require('socket.io')(server, rejectUnauthorized: false );
var redis = require('socket.io-redis');
io.adapter(redis(
host: 'localhost',
port: 6478,
));
io.on('connection', function (socket)
console.log('...........................socket connected', socket);
); ```
【问题讨论】:
【参考方案1】:请按照此演示代码使用节点设置套接字 io 并表示这可能会帮助您解决问题
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const Server = require("socket.io");
const io = new Server(server);
app.get('/', (req, res) =>
res.sendFile(__dirname + '/index.html');
);
io.on('connection', (socket) =>
console.log('a user connected');
);
server.listen(3000, () =>
console.log('listening on *:3000');
);
【讨论】:
这适用于 ip,但我在我的服务器上使用 ssl。以上是关于关于我的服务器和客户端 android 应用程序中的套接字的问题的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅关于Android使用bindService()绑定服务,onServiceConnected()方法是异步回调的问题以及借鉴NotificationManager来优化(代
我的Android进阶之旅关于Android使用bindService()绑定服务,onServiceConnected()方法是异步回调的问题以及借鉴NotificationManager来优化(代