aardio - sunny库webSocketClient演示

文章展示了使用godking.sunny库进行WebSocket通信的代码示例,包括同步和异步接收数据的方法。同步接收通过ws.get()获取数据,而异步接收则设置回调函数处理接收到的信息。在异步模式下,不能立即关闭连接以避免错误。此外,还提供了一个简单的UI界面,用于连接到服务器并发送数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考在线测试网址:http://www.websocket-test.com/

上代码:

import console; 
import godking.sunny

// 同步接收
var ws = godking.sunny.webSocketClient()
ws.open( "ws://121.40.165.18:8800" )
console.dump('同步接收:\n',ws.get(),'\n')
console.dump('同步接收:\n',ws.get(),'\n')

ws.send( "这是从客户端发送的同步数据" )
console.dump('同步接收:\n',ws.get(),'\n')
ws.close()

//异步接收
var ws = godking.sunny.webSocketClient();
ws.callback = function(owner,msgType,data,dataType){
	import console
	console.dump('异步接收:\n',data,'\n')
}
ws.open( "ws://121.40.165.18:8800" )
ws.send( "这是从客户端发送的异步数据" )
//ws.close() //这里不能立即关闭,否则异步接收出错。

console.pause(true);

看截图:

代码二

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button={cls="button";text="连接";left=640;top=20;right=730;bottom=60;z=1};
button2={cls="button";text="发送";left=540;top=420;right=630;bottom=460;z=5};
edit={cls="edit";text="ws://121.40.165.18:8800";left=30;top=20;right=630;bottom=60;edge=1;multiline=1;z=2};
edit2={cls="edit";text="";left=30;top=70;right=630;bottom=280;edge=1;multiline=1;z=3};
edit3={cls="edit";text="";left=30;top=290;right=630;bottom=410;edge=1;multiline=1;z=4}
)
/*}}*/

import godking.sunny
var ws = godking.sunny.webSocketClient();
ws.callback = function(winform,msgType,data,dataType){
	winform.edit2.dump( data);
}
ws.callbackOwner = winform;

winform.button.oncommand = function(id,event){
	if ws.open(winform.edit.text) winform.edit2.log( "连接成功",'\r\n' );
	else winform.edit2.log( "连接失败",'\r\n' );
}

winform.button2.oncommand = function(id,event){
	if ws.send( winform.edit3.text ) winform.edit2.log( "发送成功",'\r\n' );
	else winform.edit2.log( "发送失败",'\r\n' );
}

winform.show();
win.loopMessage();

运行效果:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值