tcpasynServerObject._beforeStop = function(){
/*服务端关闭以前触发
此回调函数是标准库保留接口
用户不应使用此回调*/
}
tcpasynServerObject._onClientClosed = function(hSocket){
/*客户端连接已经关闭时触发
此函数在连接断开后一定会被触发
此回调函数是标准库保留接口
用户不应使用此回调*/
}
当前连接数,不可改动该值
tcpasynServerObject.beforeStop = function(){
/*服务端关闭以前触发*/
}
绑定 IP 与端口。
应当由 start 函数自动调用此函数。
关闭所有超出keepAliveTimeout限制的超时连接
在连接超出最大连接数时,此函数会被自动调用
用于获取客户端套接字对应的客户端对象
客户端套接字读写缓冲区大小,默认为1MB
缓冲区如果设置的太小,会导致过于频繁的调用读写函数
返回当前绑定的IP,端口号
返回客户端IP地址,端口
连接是否已关闭
是否已连接并准备就绪
最大保持连接时间,以秒为单位,
负数表示不限时间
监听构造函数绑定的 IP 端口,成功返回 true 。
已自动调用此函数。
最大连接数
tcpasynServerObject.onClientClosed = function(hSocket){
/*客户端连接已经关闭时触发
此函数在连接断开后一定会被触发*/
}
tcpasynServerObject.onClose = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*已断开连接,
如果缓冲区中仍然有数据,
这个事件可能在其他事件前面触发
主动调用close函数立即关闭连接,此事件不会被触发,
但onClientClosed事件总会在关闭连接后触发*/
}
tcpasynServerObject.onOpen = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*已连接
在这里可以开始发送数据*/
}
tcpasynServerObject.onOutOfBandData = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*收到紧急数据
即send函数最后一个flag参数设为_MSG_OOB时发送的1字节带外数据*/
}
tcpasynServerObject.onRead = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*收到数据
可阻塞读取数据
定义了此事件就不应同时定义onReceive事件*/
}
tcpasynServerObject.onReceive = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*收到数据
仅读取已到达的数据
定义了此事件就不应同时定义onRead事件*/
}
tcpasynServerObject.onSend = function(hSocket,err){
var client = tcpasynServerObject.client(hSocket);
/*发送数据*/
}
tcpasynServerObject.onStop = function(err){
/*已停止服务端
主动调用stop函数停止服务端时不会触发此事件*/
}
服务端监听地址
断开 TCP 服务端
启动单线程异步TCP服务端,成功返回true,失败返回null,
如果不写IP,则默认设为"0.0.0.0"也即监听本机所有IP,访问此服务端也不限制IP
限制仅本机可以访问建议写127.0.0.1
端口为0或省略则自动查找1025以后的空闲端口
注意0-1023为系统通用服务保留端口,
1024-49151为用户服务端口,其中大约%9已由IANA注册分配
49152-65535为私有或临时端口
关闭 TCP 服务端
这是一个包含所有客户端套接字的表对象
其中键为套接字句柄,值为 wsock.tcp.asynClient对象
创建单线程异步TCP服务端