关于我的服务器和客户端 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来优化(代

关于Android 1112和13服务保活问题

Android HTTPS 客户端不从套接字读取数据

Android AsyncTask在完成工作后返回值

android socket客户端pc服务器使用asynctask