fine吧 关注:376贴子:1,761
  • 0回复贴,共1

fine语言中send的使用

只看楼主收藏回复

2.3、send方法组有四个方法,多了一个资源申请(申请到的资源用于send过程,读取发送结果的同时释放资源)的方法:
第一个方法num = net.sendNum(),无参数,返回本次发送过程所占用的资源ID号。
第二个方法net.send(num,buf),参数1是资源ID号,参数2是待发送的字符串,功能是将buf的数据发送出去。该方法受net.timeout(t)的设置控制,
如果t毫秒内没有发送成功,会自动再次尝试,最多尝试5次大约最多耗时(5*t)毫秒,退出发送过程;如果期间发送成功,立即退出发送过程,并返回-1。
第三个方法net.sendOK(num),参数是资源ID号,功能是检测send过程是否结束,正处于发送中返回0,发送过程结束返回-1。
第四个方法net.sendRead(num),参数是资源ID号,功能是读发送的字节数。当检测到net.sendOK() = -1时,使用net.sendRead()去读取结果,读取
的结果是-1时,表明发送失败(超时、或其它原因),否则,为成功发送的字节数。
注意:单次发送的字节数不能超过1024个字节,如果发送的内容超出限制,可以切片发送,保证每次发送内容不超过1024字节。
示例:
num = gui.sendNum() # 申请发送资源
net.send(num,"发送方法测试示例!") # 启动发送过程
where net.sendOK() != -1 # 等待本次发送过程结束
{
PowerDown(3) # 低功耗设置
# 可以在这里添加代码,利用等待期间执行其它工作
}
x = net.sendRead() # 读取发送结果,释放资源,不论是否需要结果,都必须读取,否则资源无法释放。
if x == -1 # 表明发送失败
{
print("本次发送失败!\n")
}
else
{
print("本次发送的字节数是:%\n",x)
}


IP属地:浙江1楼2025-01-31 19:44回复