我是LUA的初学者。我在lua文件中编写了以下代码,mysql代理与它一起运行。
function read_query(packet)
if string.byte(packet) == proxy.COM_QUERY then
local command = string.lower(packet)
if string.find(command, "select") ~= nil and string.find(string.lower(packet), "from") ~= nil then
local socket = require('socket')
local conn, err = socket.connect('localhost', 5050)
print(conn, err)
proxy.response.type = proxy.MYSQLD_PACKET_OK
//proxy.response.resultset get json from web service (url)
proxy.response.resultset = {
fields = {
{ type = proxy.MYSQL_TYPE_INT, name = "id", },
},
rows = {
{ 9001 }
}
}
return proxy.PROXY_SEND_RESULT
end
end
end
我想连接到端口5050上的Web服务,该服务返回JSON文件并保存它在proxy.response.resultset中返回的json。 另一个问题,我该如何添加套接字模块。我粘贴文件如下图
但是给出错误:找不到/socket/core.lua。
答案 0 :(得分:0)
local socket = require('socket')
您使用的是luasocket,它是lua(socket.lua
)和二进制(socket/core.so
)文件的混合体。您需要设置(如果它尚未设置)指向.so文件;这样的事情可能有用:package.cpath=package.cpath..';./?.so'