electron-egg electron-egg
首页
  • v4.x
  • v3.x
  • v2.x
插件
  • v4.x
  • v3.x
demo
支持
知识点
案例
交流
  • GitHub (opens new window)
  • Gitee (opens new window)
首页
  • v4.x
  • v3.x
  • v2.x
插件
  • v4.x
  • v3.x
demo
支持
知识点
案例
交流
  • GitHub (opens new window)
  • Gitee (opens new window)
❤️成为赞助商
  • 教程

  • ee-bin

  • ee-core

    • addon

      • 插件模块
      • window
    • bin
    • config
    • const
    • const/channel
    • controller
    • core
    • cross
    • ee
    • electron
    • electron/app
    • electron/window
    • exception
    • httpclient
    • jobs
    • jobs/ChildJob
    • jobs/ChildPoolJob
    • loader
    • log
    • message
    • message/childMessage
    • ps
    • services
    • socket
      • storage
      • storage/jsondb
      • storage/sqlite
      • tools
      • this-app

      • utils
      • utils/helper
      • utils/is
      • utils/json
      • utils/time
      • utils/ip
      • utils/get-port
      • oldUtils
    • ee-go

    目录

    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

    官方文档:https://socket.io/ (opens new window)

    上次更新: 2025/06/06, 07:21:49
    services
    storage

    ← services storage→

    Theme by Vdoing | Copyright © 2023-2025 哆啦好梦 | 京ICP备15041380号-2
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×