简介

app滑动条通过tcp给设备发数据,使用长连接,可以有效提高效率,避免tcp.send的短链接模式.

代码如下

--- SimAPP 滑动条 长连接发tcp数据
--val=0;
data=str.sprintf("SetL1 1:%d#" , val);  --要发的协议数据,用滑动条的值替换 %d
si=tcp.sendto(_mysock,data); --发送数据
--断线自动重连
if (si<1) then
   tcp.close(_mysock);
   _mysock=tcp.new();
   ret=tcp.connect(_mysock, "192.168.2.155",1698);
   data=str.sprintf("SetL1 1:%d#" , val);  
   si=tcp.sendto(_mysock,data); --发送数据
end

2024-03-30T07:26:10.png

代码使用说明

采用默认模式下的tcp高阶编程, 另外使用全局变量 _mysock,APP滑动条传过来的值存在变量val里,连接后就不再断开.

SimAPP的滑动条关联该程序便可,如果需要滑动的过程中执行该程序,请在onchange处填上本程序的APPID.

2024-03-30T07:35:04.png

程序下载导入

代码市场搜 tcp长连接-APP滑动条 并导入中控.

tcp高阶编程

平常使用的tcp.send是一个短连接,发送完数据后,会断开连接,如果需要长连接,那么可以使用下面代码例子,
是一个完整的tcp 收发数据的例子,请参考.

--创建 tcp 客户端
sock=tcp.new();
--连接 tcp 服务器,没连接成功 0+1 秒后超时
ret=tcp.connect(sock, "192.168.2.194",7788,0);
if (ret) then
--发送数据
 si=tcp.sendto(sock,"hello kitty");
 --接收数据, 3000ms 后没有数据退出
 res=tcp.recv(sock,3000);
end
--关闭 tcp 客户端
tcp.close(sock);

~长连接,长链接,tcp连接,tcp客户端长连接~