one-server-socket
v0.0.7
Published
> It's a toolkit for nodejs Net Socket.
Downloads
1
Readme
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;
}