unityloverz 发表于 2023-4-9 17:17

ToLua require “socket“ 报错

当我们使用LuaFramework的时候,有的时候,我们不想要使用框架自带的C#实现的Socket通信,
想要直接用luasocket,这个时候,我们用一句简单的:
local socket = require "socket"然后发现,报错了:


这个是因为默认ToLua是不开启luasocket的,其实也有相关的代码,在 LuaClient.cs 中设置
了这个的开启,但是我们有时候不需要使用这个脚本,这时,只需把LuaClient中的启用luasocket
的代码移到 LuaManager.cs 中即可(以下代码加入到LuaManager中还需要 using System;):
      
      static int LuaOpen_Socket_Core(IntPtr L)
      {
            return LuaDLL.luaopen_socket_core(L);
      }

      /// <summary>
      /// 打开luasocket库
      /// </summary>
      protected void OpenLuaSocket()
      {
            LuaConst.openLuaSocket = true;
            lua.BeginPreLoad();
            lua.RegFunction("socket.core", LuaOpen_Socket_Core);
            lua.EndPreLoad();
      }添加完代码后在OpenLibs方法中调用下即可:

页: [1]
查看完整版本: ToLua require “socket“ 报错