OpenWrt之lua网络编程_luci下的luasocket安装

时间:2024-03-15 17:21:07

写在前

openwrt的软路由上,提供了nixio,可以依赖它的socket进行编程,但是语法语义比较原始,不太容易使用,使用的样例可以参照:
自定义openwrt的配置界面:luci进阶之路
里面定义了如何使用luci的http方法,和自定义的resttemplate.lua工具文件(里面封装了如何使用nixio进行socket编程)
OpenWrt之lua网络编程_luci下的luasocket安装
本篇文章,将使用大家都在用的luasocket库,因为lua语言官方并不提供网络编程模块,luasocket库是外部库,使用c语言和lua语言编写而成的现成的库,可以用来进行http通信、tcp通信、udp通信。
接下来介绍如何在openwrt上有限的资源中,进行luasocket库的安装。
首先openwrt本身集成了luci框架,luci框架是用lua语言编写的一套共openwrt界面展示的web框架。
所以它本身具有执行lua脚本语言的能力(现在默认使用的是lua5.1版本),不需要进行lua的安装。

  1. 进入openwrt,找到/usr/lib/lua 目录,可以看到该目录下现在已有的文件,其中luci就是web核心.
    OpenWrt之lua网络编程_luci下的luasocket安装
  2. 使用 opkg install luarocks 命令进行安装包管理,之后发现多了socket等文件夹. 到此, socket库其实已经安装完成了.
    OpenWrt之lua网络编程_luci下的luasocket安装
  3. 检测socket库是否成功安装
    OpenWrt之lua网络编程_luci下的luasocket安装
    OpenWrt之lua网络编程_luci下的luasocket安装
  4. 下面开始编程实现自己的功能…
    参照
    实例解析lua中的socket(TCP,UDP)

OpenWrt之lua网络编程_luci下的luasocket安装