“socket.core”是不是有效的Win32应用程序

“socket.core”是不是有效的Win32应用程序

问题描述:

阅读this,下载插座的64二进制和更换他们在LUA“clibs”目录中,没有阳性结果后,我想在解决以下错误一些帮助我是从日食接收:“socket.core”是不是有效的Win32应用程序

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) 

这是我enviorioment:

  • 视窗10 64;
  • Lua 5.3;
  • LUA_PATH定义正确;
  • LUA_CPATH定义正确;

这里是我的代码:

-- 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() 

从你的Lua安装(C:\Program Files (x86)\Lua\5.1\clibs\socket\core.dll)的文件路径,它看起来像你已经安装的Lua的32位版本,并试图加载与它的64位DLL。这不行;这两种体系结构不能混合在一个过程中。

可以下载32位版本的套接字模块或64位版本的Lua解释器。

+0

刚刚从这里下载:http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2这里:http://luabinaries.sourceforge.net/download.html替换所有的文件,将所有内容都留在32位,结果相同 –