socket
ee-core:v2.0.3
# 介绍
提供socket通信功能。
- 可以使用socket.io-client 或 node.js的net模块,连接远程(java、go等)socket服务
- 可以在第三方项目中,连接框架的socket服务,与EE框架通信
# 使用方法
const Socket = require('ee-core/socket');
# API列表
# getSocketServer()
获取socketServer实例对象。
// 顶部引入模块
// 不要在顶部直接导出 getSocketServer,因为项目启动时,框架源码可能并没有加载完
const Socket = require('ee-core/socket');
// 发消息到前端io-client on()监听的事件 或者 其它语言socket监听的事件
const SocketServer = Socket.getSocketServer();
SocketServer.io.emit("client 监听的event name", "数据");
# SocketServer.io
实例化后的server对象,包含以下属性、方法:
- 属性
// 文档:https://socket.io/docs/v4/server-api/#attributes
io.engine
io.sockets
- 方法
// 文档:https://socket.io/docs/v4/server-api/#methods
io.adapter([value])
io.attach(httpServer[, options])
io.attach(port[, options])
io.attachApp(app[, options])
io.bind(engine)
io.close([callback])
io.disconnectSockets([close])
io.emit(eventName[, ...args])
io.emitWithAck(eventName[, ...args])
io.except(rooms)
io.fetchSockets()
io.in(room)
io.listen(httpServer[, options])
io.listen(port[, options])
io.of(nsp)
io.on(eventName, listener)
io.onconnection(socket)
io.path([value])
io.serveClient([value])
io.serverSideEmit(eventName[, ...args][, ack])
io.serverSideEmitWithAck(eventName[, ...args])
io.socketsJoin(rooms)
io.socketsLeave(rooms)
io.timeout(value)
io.to(room)
io.use(fn)
# SocketServer.connec()
创建connection
连接,并监听channel频道c1
,实现渲染进程与主进程controller的通信。
# SocketServer.socket
通过SocketServer.io('connection') 建立连接后的 socket
对象,
文档:https://socket.io/docs/v4/server-api#socket
可以调用该对象的上的属性/方法,来扩展功能。
# getHttpServer()
获取httpServer实例对象。
// 顶部引入模块
const Socket = require('ee-core/socket');
// 在方法内调用
Socket.getHttpServer();
# getIpcServer()
获取ipcServer实例对象。
// 顶部引入模块
const Socket = require('ee-core/socket');
// 在方法内调用
Socket.getIpcServer();
# Koa
原始koa对象,等于require('koa')。提供基础库 - 避免用户重复安装
const { Koa } = Socket;
# IoServer
原始socket.io对象,等于require('socket.io')。提供基础库 - 避免用户重复安装
const { IoServer } = Socket;
# IoClient
原始socket.io-client对象,等于require('socket.io-client')。提供基础库 - 避免用户重复安装
const { IoClient } = Socket;
# socket.io
上次更新: 2025/03/27, 02:12:08