|
我想做一个可以在网页端输入端口号,然后调用程序,进行Udp通信的东西,但是总是在表单获取数据这块出问题
cbi程序:
local uci = require("luci.model.uci").cursor()
local io = require("io")
m = Map("udptest", "UDP")
s = m:section(TypedSection, "form", "Form Section")
o = sption(Value, "port", "ort")
o.rmempty = false
o:write()
--function m.on_commit(map)
local apply=luci.http.formvalue("cbi.apply")
if apply then
local port =luci.http.formvalue("cbid.udptest.form.port") --luci.http.formvalue("cbid.udptest.form.port")
local file = io.open("/var/log/mylog", "w")
file:write(port)
file:close()
end
--local cmd = "/usr/rec " .. port
--local handle = io.popen("/usr/rec 4000")
--local output = handle:read("*a")
--handle:close()
--("info", "Command output: " .. output)
--end
return m
config文件:
config form
option port ''
在表单输入数字点击保存后的报错信息:
/usr/lib/lua/luci/model/cbi/udptest.lua:22: bad argument #1 to 'write' (string expected, got nil)stack traceback: [C]: in function 'write' /usr/lib/lua/luci/model/cbi/udptest.lua:22: in function 'func' /usr/lib/lua/luci/cbi.lua:66: in function 'load' /usr/lib/lua/luci/dispatcher.lua:1353: in function '_cbi' /usr/lib/lua/luci/dispatcher.lua:1024: in function 'dispatch' /usr/lib/lua/luci/dispatcher.lua:479: in function </usr/lib/lua/luci/dispatcher.lua:478>
感觉就是 local port =luci.http.formvalue("cbid.udptest.form.port")的问题,但就是调不好,求助。
|
|