WebSocket工具
让客户端和服务器之间建立一条"热线电话",双方可以随时说话(通信),不用像以前那样每次都要重新拨号(不用重新建立连接)。
创建一个 WebSocket
参数 : url {string} 例如:ws://127.0.0.1:8080
返回 : Ws
//返回的ws是经过封装的WebSocket对象(不是okhttp3.WebSocket原生对象)
let ws = $ws.create("wss://echo.websocket.org");
//设置监听
ws.onOpen((res,ws)=> {
//当成功连接时回调(此函数可以不用设置,拥有默认回调:打印信息)
console.log("链接成功");
//参数说明:
// res: okhttp3.Response (参考okhttp3文档)
// ws: okhttp3.WebSocket (参考okhttp3文档)
})
.onClosed((code,reason,ws)=> {
//当关闭后回调(此函数可以不用设置,拥有默认回调:打印信息)
console.log("关闭成功");
//参数说明:
// code: int 数字
// reason: String 字符串
// ws: okhttp3.WebSocket (参考okhttp3文档)
})
.onClosing((code,reason,ws)=> {
//处于关闭时回调(此函数可以不用设置,拥有默认回调:打印信息)
console.log("正在关闭");
//参数说明:
// code: int 数字
// reason: String 字符串
// ws: okhttp3.WebSocket (参考okhttp3文档)
})
.onFail((err,res,ws)=> {
//出现异常时回调(此函数可以不用设置,拥有默认回调:打印信息)
console.log("出现异常",err);
//参数说明:
// err: Throwable
// res: okhttp3.Response (参考okhttp3文档)
// ws: okhttp3.WebSocket (参考okhttp3文档)
})
.onMsgStr((str, ws)=> {
//接收到字符串信息时回调
console.log("收到字符串:",str);
//参数说明:
// str: String 字符串数据
// ws: okhttp3.WebSocket (参考okhttp3文档)
})
.onMsgByte((bs)=> {
//接收到字节数据时回调
console.log("收到二进制消息:大小 ", bs.size());
console.log("hex: ", bs.hex());
console.log("base64: ", bs.base64());
console.log("md5: ", bs.md5());
console.log("bytes: ", bs.toByteArray());
//参数说明:
// bs: okio.ByteString (参考okhttp3文档)
});
//发送字符串消息
ws.send("Hello AIGame!");
//发送二进制消息
//ws.send([10,15,1,1,0,5]);