wl.tjz 套接字 Socket
2022-12-22 13:58:20 最后更新
用法:

// 需要启用线程
gj.xc(){
// 创建服务端
// 输入服务端口,服务端超时限制(指定时间内无新连接则关闭服务器,0为无限制),客户端超时限制(已连接的客户端指定时间内未通信则关闭,0为无限制),是否接收新连接请求
s tjz = wl.tjz(6666, 0, 0, true)(so,sr){
// so 服务端对象
// sr 新连接对象

gj.sc(sr.ip() + ":" + sr.dk() + ":" + sr.bjip() + ":" + sr.bjdk())

},(sr,te,mg,bs){
// sr 连接对象
// te 数据类型,0为无数据头字节数组,1为带数据头字符串,2为带数据头文件,3为带数据头字节数组
// mg 数据信息,数据类型为1时值为对应的字符串,数据类型为2时值为文件的后缀
// bs 数据的字节数组

gj.sc(sr + ":" + te + ":" + mg + ":" + bs.length)

}

// 开始,这里线程会被堵塞
tjz.ks()

// 下面的代码将在服务端关闭后执行
gj.sc("服务端已关闭")

}

// 需要启用线程
gj.xc(){
// 创建客户端
// 输入服务器IP,服务端口,超时限制(指定时间内未通信则关闭,0为无限制)
s tjz = wl.tjz("192.168.1.100", 6666, 0)(so,sr){
},(sr,te,mg,bs){
// sr 连接对象
// te 数据类型,0为无数据头字节数组,1为带数据头字符串,2为带数据头文件,3为带数据头字节数组
// mg 数据信息,数据类型为1时值为对应的字符串,数据类型为2时值为文件的后缀
// bs 数据的字节数组

gj.sc(sr + ":" + te + ":" + mg + ":" + bs.length)
}

// 开始
tjz.ks()

}

// 更多方法

// 重启
tjz.cq()

// 开始启动或连接
tjz.ks()

// 连接总数
s ljzs = tjz.ljzs()

// 获取连接列表
s ljlb = tjz.lj()

// 获取指定序号的连接
s lj = tjz.lj(0)

// 连接清空
tjz.ljqk()

// 获取当前是否已关闭
s sfgb = tjz.sfgb()

// 关闭释放
tjz.gb()

// 获取服务器对象
s fwd = tjz.fwd()

// 获取本机的IP
s bjip = tjz.bjip()

// 获取本机的端口
s bjdk = tjz.bjdk()

// 输出数据,返回发送成功数量,如果是服务端则为群发
// 可输出多种类型数据,字符串,字节数组,文件等
gj.xc(){
s sc1 = tjz.sc("nihao")
}

// 输出数据,需要开线程
gj.xc(){
// 输入数据类型,输入数据内容
s sc2 = tjz.sc(1, "nihao")
// 输出文件
//s sc2 = tjz.sc(2, "%a.png")
}

// sr 连接对象的方法

// 获取远程连接的IP
s ip = sr.ip()

// 获取远程连接的端口
s dk = sr.dk()

// 获取本机的IP
s bjip = sr.bjip()

// 获取本机的端口
s bjdk = sr.bjdk()

// 获取当前是否已关闭
s sfgb = sr.sfgb()

// 重启连接
sr.cq()

// 关闭释放
sr.gb()

// 获取连接socket对象
s ljdx = sr.ljdx()

// 设置自定义数据
sr.sj("abcd")

// 获取自定义数据
s sj1 = sr.sj()

// 设置自定义数组数据
s sz = { "abcd", "efg" }
sr.szsj(sz)

// 获取自定义数组数据
s sjsz = sr.szsj()

// 输出数据,返回发送成功数量,如果是服务端则为群发
// 可输出多种类型数据,字符串,字节数组,文件等
gj.xc(){
s sc1 = sr.sc("nihao")
}

// 输出数据
// 输入数据类型,输入数据内容
gj.xc(){
s sc2 = sr.sc(1, "nihao")
// 输出文件
//s sc2 = sr.sc(2, "%a.png")
}

关于数据头:
数据头是为了更佳简便的使用套接字,为固定模式和长度;
数据头固定为32位;6位固定标识0-5,1位数据类型6-6,10位数据长度7-16,15位文件后缀17-31

// 数据类型: 1为字符串,2为文件,3为字节数组

// java开头固定字节标识 32, -93, 93, 0, 63, -63
// c#开头固定字节标识 32, 163, 93, 0, 63, 193