Javascript Socket.io如何实现wss连接?
我正在使用socket.io在node.js上使用sockets创建身份验证服务 我的问题是:在服务器端和客户端实现或创建wss连接的方法是什么 我的代码:Javascript Socket.io如何实现wss连接?,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,我正在使用socket.io在node.js上使用sockets创建身份验证服务 我的问题是:在服务器端和客户端实现或创建wss连接的方法是什么 我的代码: // Server var express = require("express"); var socket = require("socket.io"); var app = express(); var port = 5310; var server = app.listen(port, function () { con
// Server
var express = require("express");
var socket = require("socket.io");
var app = express();
var port = 5310;
var server = app.listen(port, function () {
console.log("Listening to requests on port", port);
});
var io = socket(server);
io.on("connection", function (socket) {
// Code
});
在节点应用程序的根级别,创建一个
socket.js
文件
let io;
module.exports = {
init: httpServer => {
io = require('socket.io')(httpServer);
return io;
},
getIO: () => {
if(!io) throw new Error('Socket.io not initialized');
return io;
}
};
这将创建一种单例设计模式,这意味着您永远不会拥有多个套接字实例
现在,在App.js文件中,您将看到
const server = app.listen(8080);
const io = require('./socket').init(server);
io.on('connection', socket => {
console.log("Connected!");
})
现在,在控制器中(假设使用MVC模式),导入socket.js文件并发出动作。假设您想发送一条消息
io.getIO().emit('messages', {
action: 'send',
message: //message data
});
这应该是所有关于你的后端。在客户端,导入套接字客户端constopensocket=require('socket.io client')编码>,并倾听您的操作:
const socket = openSocket(yourServer);
socket.on('messages', data => {
if(data.action === 'send') {
// do your logic
// you have acces to data.message, containing your message data you passed on the server
}
})
希望这对你有帮助 这是如何实现WSS:
连接的?
const socket = openSocket(yourServer);
socket.on('messages', data => {
if(data.action === 'send') {
// do your logic
// you have acces to data.message, containing your message data you passed on the server
}
})