0.0.7 • Published 6 months ago

one-server-socket v0.0.7

Weekly downloads
-
License
-
Repository
-
Last release
6 months ago

It's a toolkit for nodejs Net Socket.

Functions

interface AppConfig {
  port?: number; // 端口号
  encoding?: BufferEncoding; // socket的编码, 设置以后将接收的数据自动解码
  packet?: { // 数据包
    direct?: boolean; // 是否简单接收, 即不考虑分包、粘包, 接收一个数据包即认为结束
    eof?: string; // 消息结束标志模式: 接收端通过检测这个结束标志来确定一个数据包的结束, 例如换行符 \r\n 或其他不常见字符
    head?: { // 包头包体模式: 数据包添加包头,包头中包含数据包的长度信息, 接收端首先读取包头中的长度字段,然后再根据长度来正确分割和解析包体
      byteLen: number; // 包头长度
      json?: boolean; // 是否是一个JSON字符串
      separator?: string; // 键值对分隔符, 默认“,”
      operator?: string; // 键值分隔符, 默认“=”
      body_size_field?: string; // 包体大小, 默认bodysize
    }
  },
  auth?: { 
    login_tag?:string; // 客户端登录验证消息的前缀, 用于让服务器识别是否是登录验证的请求,默认[login]
    secret?:string; // TOKEN密钥, 默认geo.secret
  }
}
type PacketHead = {[field:string]:string}; // 包头
type PacketBody = Buffer|string; // 包体
interface Gift {
  mode: "direct"|"eof"|"head";
  head?: PacketHead;
  body?: PacketBody;
}

class NetSocket {
  // 构造器
  constructor(filename:string);
  constructor(options:SocketConfig);
  /**
   * 处理器
   * @param callback 业务处理的回调函数(gift:Gift, socket:Socket)
   */
  handle(callback:(gift:Gift, socket:any)=>void): this;
  /**
   * 启动服务
   * @param callback 消息回调函数
   * @returns 
   */
  start(callback?:(log:string)=>void): this;
}
0.0.7

6 months ago

0.0.6

6 months ago

0.0.5

6 months ago

0.0.4

6 months ago

0.0.3

7 months ago

0.0.2

7 months ago

0.0.1

7 months ago