阅读this后,下载socket的x64二进制文件并在lua“clibs”目录中替换它们,没有任何正面结果,我想帮助解决我从eclipse收到的以下错误:
Exception in thread "main" com.naef.jnlua.LuaRuntimeException: error loading module 'socket.core' from file 'C:\Program Files (x86)\Lua\5.1\clibs\socket\core.dll':
%1 is not a valid Win32 application.
at com.naef.jnlua.LuaState.lua_pcall(Native Method)
at com.naef.jnlua.LuaState.call(LuaState.java:555)
at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.run(JNLua51Launcher.java:128)
at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.main(JNLua51Launcher.java:143)
这是我的生命:
这是我的代码:
-- Requires
local socket = require 'socket'
-- Settings
host = "localhost"
port = 8384;
-- Program Start
print("Program Start")
-- Functions
local function main()
client = socket.connect(host, port)
client:send("test!")
while true do
s, status, partial = client:receive(1024)
print(s or partial)
if status == "closed" then
break
end
end
client:close()
end
main()
答案 0 :(得分:0)
从Lua安装的文件路径(GROUP BY
),看起来您已经安装了32位版本的Lua,并且正在尝试使用它加载64位DLL。这不起作用;这两种架构不能在一个过程中混合使用。
下载32位版本的套接字模块或64位版本的Lua解释器。