将socket.io封装在类[duplicate]中

问题描述 投票:0回答:1
我正在尝试将socket.io封装在一个类中,因此我可以在多个文件中共享同一套接字(使用导入)。如果仅使用一个文件,这是使用WebSocket的常用方法。

Test.js

let ip = "http://localhost/"; let socket = io(ip); socket.emit("message", {"content": "hello"}); socket.on("messageResponse", function(content) { //Do something here. });

我想要实现的是..

multiplayer / Socket.js

class Socket { constructor(ip) { this.socket = io(ip); } sendMessage(message, data) { this.socket.emit(message, data); } } export default Socket;

A.js

import Socket from "./multiplayer/Socket.js"; //listen to certain events here like socket.on("connect")

B.js

import Socket from "./multiplayer/Socket.js"; //listen to some other events here like socket.on("chatMessage")
但是我不知道如何封装on事件。我正在使用汇总将脚本捆绑在一个文件中。

谢谢!

我正在尝试将socket.io封装在一个类中,因此我可以在多个文件中共享同一套接字(使用导入)。如果仅使用一个文件Test.js,这是使用WebSocket的常用方法...

javascript node.js socket.io rollupjs
1个回答
1
投票
似乎您想创建一个单例
© www.soinside.com 2019 - 2024. All rights reserved.