基本用法
本文通过demo演示来说明本章节内容的基本用法。
基本API
仅演示所用API,详情请看API说明-socket-API说明
- socket.create(adapter, cb) -- 申请一个socket_ctrl
- socket.config(ctrl, local_port, is_udp, is_tls, keep_idle, keep_interval, keep_cnt, server_cert, client_cert, client_key, client_password) -- 配置network一些信息
- socket.connect(ctrl, ip, remote_port, need_ipv6_dns) -- 连接服务器
- socket.close(ctrl) -- 强制关闭socket
示例
-- 本示例演示链接socket基础流程,详细代码请看完整demo
local netc = socket.create(nil, netCB)
socket.debug(netc, true)
socket.config(netc, nil, nil, nil, 300, 5, 6) --开启TCP保活,防止长时间无数据交互被运营商断线
while true do
local succ, result = socket.connect(netc, server_ip, server_port)
if result then
log.info("服务器连上了")
end
if not succ then
log.info("未知错误,5秒后重连")
else
local result, msg = sys.waitUntil("socket_disconnect")
end
log.info("服务器断开了,5秒后重连")
socket.close(netc)
log.info(rtos.meminfo("sys"))
sys.wait(5000)
end
对应log
成功链接socket打印
服务器链接成功打印
服务器断开对应打印