'use strict';
|
|
const IoServer = require('socket.io');
|
const IoClient = require('socket.io-client');
|
const Koa = require('koa');
|
const EESocketServer = Symbol('Ee#SocketServer');
|
const EEIpcServer = Symbol('Ee#IpcServer');
|
const EEHttpServer = Symbol('Ee#HttpServer');
|
|
const EeSocket = {
|
|
/**
|
* 提供基础库 - 避免用户重复安装
|
*/
|
Koa,
|
IoServer,
|
IoClient,
|
|
/**
|
* 启动所有服务
|
*/
|
startAll(app) {
|
this._createSocketServer(app);
|
this._createHttpServer(app);
|
this._createIpcServer(app);
|
},
|
|
/**
|
* 创建SocketServer
|
*/
|
_createSocketServer(app) {
|
const SocketServer = require('./socketServer');
|
this[EESocketServer] = new SocketServer(app);
|
|
return this[EESocketServer];
|
},
|
|
/**
|
* 获取 Socket Server
|
*/
|
getSocketServer() {
|
return this[EESocketServer] || null;
|
},
|
|
/**
|
* 创建 Http Server
|
*/
|
_createHttpServer(app) {
|
const HttpServer = require('./httpServer');
|
this[EEHttpServer] = new HttpServer(app);
|
|
return this[EEHttpServer];
|
},
|
|
/**
|
* 获取 Http Server
|
*/
|
getHttpServer() {
|
return this[EEHttpServer] || null;
|
},
|
|
/**
|
* 创建 IPC Server
|
*/
|
_createIpcServer(app) {
|
const IpcServer = require('./ipcServer');
|
this[EEIpcServer] = new IpcServer(app);
|
|
return this[EEIpcServer];
|
},
|
|
/**
|
* 获取 IPC Server
|
*/
|
getIpcServer() {
|
return this[EEIpcServer] || null;
|
},
|
|
}
|
|
|
module.exports = EeSocket;
|