帖子
帖子
用户
博客
课程
显示全部楼层
2
帖子
0
勋章
18
Y币

[插件使用] socketManager断开重连后会自动切换端口??

[复制链接]
发表于 2024-1-10 18:51:24
使用socketManager实现socket通讯,采用的是tcp连接,所以不能使用配置localPort的方式固定本地端口


那么就会出现一种情况是:
假设我第一次socket连接上服务器时,socketManager本地端口随机是48000;
那么如果不小心中间断开需要重连,第二次重连时本机端口就会切换到48002,第三次48004这样。。。每次重连使用的端口都跟第一次不一样。

如何可以固定一个端口,当我第一次使用48000端口与服务器连接时,后面重连也是使用48000;



端口不是服务端设置的吗,跟前端没有关系吧。
2
帖子
0
勋章
18
Y币
chyd④④⑤⑤②⑦⑧⑤② · 2024-1-11 09:19端口不是服务端设置的吗,跟前端没有关系吧。

服务端的端口是前端设置固定的,但是前端socket连接服务器时,设备用来通讯的端口是这个插件默认的,每次重连都会变
BIP811435 · 2024-1-17 09:24服务端的端口是前端设置固定的,但是前端socket连接服务器时,设备用来通讯的端口是这个插件默认的,每次重连都会变

插件不是有port参数吗,你代码怎么写的,这个不是写死端口的吗,还有服务端的端口怎么可能是前端设置的,肯定是服务端部署的socket设置的
2
帖子
0
勋章
18
Y币
chyd④④⑤⑤②⑦⑧⑤② · 2024-1-17 10:53插件不是有port参数吗,你代码怎么写的,这个不是写死端口的吗,还有服务端的端口怎么可能是前端设置的,肯定是服务端部署的socket设置的

这个插件给了两个配置参数,分别配置要连接的服务端的IP和端口号;
但是本机要用哪个端口与后端进行socket通讯,本机TCP连接时没有参数可以设置本机端口号(UDP有相关参数设置);
这就导致我第一次连接时,插件使用前端的48000端口以后服务端完成连接,中途断开重连的话,插件就不再使用前端的48000端口了,而是48002,48004等等
BIP811435 · 2024-1-17 11:43这个插件给了两个配置参数,分别配置要连接的服务端的IP和端口号;
但是本机要用哪个端口与后端进行socket通讯,本机TCP连接时没有参数可以设置本机端口号(UDP有相关参数设置);
这就导致我第一次连接时,插件使 ...

你代码贴出来看看。
2
帖子
0
勋章
18
Y币

如图 企业微信截图_170547328095.png

你tcp为什么要配置localPort这个参数,那么你port配置的是多少。

建议直接使用avm自带的WebSocket;
// Create WebSocket connection.
const socket = new WebSocket('ws://localhost:8080');
// 构造函数 WebSocket(url[, protocols])

// Connection opened
socket.addEventListener('open', function (event) {
    socket.send('Hello Server!');
});

// Listen for messages
socket.addEventListener('message', function (event) {
    console.log('Message from server ', event.data);
});
2
帖子
0
勋章
18
Y币
chyd④④⑤⑤②⑦⑧⑤② · 2024-1-17 15:59建议直接使用avm自带的WebSocket;
// Create WebSocket connection.
const socket = new WebSocket('ws://localhost:8080');

localPort只是尝试一下,发现不行还没删,好的谢谢
您需要登录后才可以回帖 登录

本版积分规则