2016-11-14 39 views
0

thisを読んだら、ソケットのx64バイナリをダウンロードして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です:

  • のWindows 10のx64;
  • ルア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() 

答えて

0

あなたのLuaのインストール(C:\Program Files (x86)\Lua\5.1\clibs\socket\core.dll)のファイルパスから、それはあなたがルアの32ビット版をインストールしているように見える、とロードしようとしていますそれと64ビットDLL。これは動作しません。 2つのアーキテクチャを1つのプロセスで混在させることはできません。

ソケットモジュールの32ビットバージョンまたは64ビットバージョンのLuaインタープリタをダウンロードします。

+0

ここからダウンロードしてください:http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2およびこちら:http://luabinaries.sourceforge.net/download.htmlすべてのファイルを置き換え、 32ビットですべてを同じ結果で残した –

関連する問題