很好很好的WebSocket客户端模块来了!
Posted aardio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了很好很好的WebSocket客户端模块来了!相关的知识,希望对你有一定的参考价值。
这个WebSocket客户端基于单线程异步套接字,只要监听事件就可以方便的收发数据,不卡界面,不需要用到多线程!一切都变得非常简单。对于WebSocket客户端来说,去弄什么多线程只会把简单的事不必要的搞复杂。
支持双向心跳,单向心跳,可以断线重连,下面是一个简单的例子(可以在"aardio范例->网络应用->WebSocket"找到下面的代码):
import win.ui;
/*DSG{{*/
var winform = win.form(text="WebSocket客户端演示";right=770;bottom=467)
winform.add(
btnClose={cls="button";text="断开";left=556;top=293;right=710;bottom=331;db=1;dr=1;z=6};
btnOpen={cls="button";text="连接WebSocket服务端";left=381;top=293;right=535;bottom=331;db=1;dr=1;z=2};
btnSend={cls="button";text="发送数据";left=569;top=346;right=711;bottom=426;db=1;dr=1;z=4};
txtMessage={cls="edit";left=29;top=22;right=741;bottom=285;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=1};
txtSend={cls="edit";text="WebSocket测试";left=29;top=348;right=558;bottom=423;db=1;dl=1;dr=1;edge=1;multiline=1;z=3};
txtUrl={cls="edit";text="ws://121.40.165.18:8088";left=29;top=295;right=368;bottom=331;db=1;dl=1;dr=1;edge=1;z=5}
)
/*}}*/
import web.socket.client;
var ws = web.socket.client();
ws.onOpen = function(){
ws.send("服务端你好吗?!")
}
ws.onClose = function(){
winform.txtMessage.print("onClose");
}
ws.onError = function(err){
winform.txtMessage.print("onError",err);
}
ws.onMessage = function(msg){
winform.txtMessage.print(msg.data);
}
winform.btnSend.oncommand = function(id,event){
ws.send(winform.txtSend.text)
}
winform.btnOpen.oncommand = function(id,event){
ws.connect(winform.txtUrl.text);
}
winform.btnClose.oncommand = function(id,event){
ws.close();
}
winform.txtUrl.text = "ws://121.40.165.18:8088";
ws.originUrl = "http://www.blue-zero.com";
winform.show()
win.loopMessage();
JS里写的是ws.onemessage,我给改成了 ws.onMessage,
这个东西,要灵活的变通,没必要非要搞的跟别的语言一模一样,
只要好用就可以。
以上是关于很好很好的WebSocket客户端模块来了!的主要内容,如果未能解决你的问题,请参考以下文章