我们使用的是socket.io服务器v2.3.0,没有ssl。js前端客户端和spring引导客户端使用socket.io服务器发送和接收消息。
现在,我们正在使用ssl。js前端工作正常,但spring引导客户端不会向socket.io服务器发送任何消息。这是我向socket.io服务器发送消息的源代码。它在没有ssl的情况下工作。我更改了url并为此设置了https。
IO.Options options = new IO.Options();
options.transports = new String[]{"websocket"};
options.reconnectionAttempts = 2;
options.reconnectionDelay = 1000;
options.timeout = 500;
final Socket socket = IO.socket(socketServerURL, options);
socket.on(Socket.EVENT_CONNECT, args1 -> socket.send("hello..."));
socket.on("connected", objects -> System.out.println("Server connected: " + objects[0].toString()));
socket.on("push_data_event", objects -> System.out.println("Server:" + objects[0].toString()));
socket.on("myBroadcast", objects -> System.out.println("Server:" + objects[0].toString()));
socket.connect();
socket.emit("chanel_name", message);
有什么问题?版本如下:socket服务器:2.3.0 socket js客户端:2.3.0 socket io客户端:1.0.0
1条答案
按热度按时间9fkzdhlc1#
通过添加一个静态类并将套接字的选项传递给此函数,可以解决此问题。它为选项添加了一些参数并解决了问题。
源代码更改为以下内容: