简单问题:有没有办法在Lua中运行或加载java函数?
我正在尝试创建一个使用Lua在服务器和客户端之间传输文件的手机应用程序。当客户端使用Lua时,服务器使用Java。
这是一个接收文件的lua函数
function UDPClientModule.receiveFile()
local data, status
local chunks = {}
while true do
data, status = udp:receive()
print("status: ", status)
if data ~= nil then
table.insert(chunks, data)
--the filename is the last chunk to be received
if string.match(data, ".jpg") then
-- but strangely returns true
break
end
end
socket.sleep(0.5)
end
--combineAndOpenImage(t)
end
到目前为止没有问题。但是,服务器发送的块被封装在这样的类中:
public class FileChunk {
private List<Data> dataList;
//functions below
}
public class Data{
private byte[] fileData;
// functions and adding file headers below
} // then UDPServer.java sends bytes of FileChunk
因此,lua函数接收的数据包很奇怪,这也导致string.match(data, ".jpg")
返回true。所以我想运行java文件(例如UDPClient.java)以接收和解密块,而不是lua。
我不想更改服务器,也不想将客户端语言迁移到java。我没有找到任何关于此的资源,所以我需要帮助。
答案 0 :(得分:1)
您需要创建一个包装库,例如C中的包装库。我不知道如何,但我希望这能为您提供方向感。