単純質問:Lua内でJava関数を実行またはロードする方法はありますか?Luaでjava関数をロード
Luaを使用してサーバーとクライアント間でファイルを転送する電話アプリケーションを作成しようとしています。クライアントがLuaを使用している間、サーバーはJavaを使用します。
これは今のところ何の問題
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
を提出しない受信Luaの関数です。ただし、サーバーから送信されたチャンクが、このようなクラスにカプセル化されています
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機能によって受信されたパケットはまた、trueを返しstring.match(data, ".jpg")
にもたらされる奇妙です。ですから、luaの代わりにチャンクを受け取って解読するためにjavaファイル(例えばUDPClient.java)を実行したいと思います。
私はサーバーを変更したり、クライアント言語をjavaに移行したりしたくありません。私はこれについてのリソースを見つけていないので、私は助けが必要です。
おそらく....? – warspyking
'ファイル名が最後に受信されるチャンクです'に頼らないでください。最後のチャンクを検出するには、他の方法を使用します。 –
@EgorSkriptunoff注目。しかし問題は、Luaを使ってチャンクをデコードできないことです。代わりにjava helperファイルを実行したいかもしれません。 – Obito