找回密码
 立即注册
查看: 208|回复: 0

ToLua require “socket“ 报错

[复制链接]
发表于 2023-4-9 17:17 | 显示全部楼层 |阅读模式
当我们使用LuaFramework的时候,有的时候,我们不想要使用框架自带的C#实现的Socket通信,
想要直接用luasocket,这个时候,我们用一句简单的:
  1. local socket = require "socket"
复制代码
然后发现,报错了:


这个是因为默认ToLua是不开启luasocket的,其实也有相关的代码,在 LuaClient.cs 中设置
了这个的开启,但是我们有时候不需要使用这个脚本,这时,只需把LuaClient中的启用luasocket
的代码移到 LuaManager.cs 中即可(以下代码加入到LuaManager中还需要 using System;):
  1.         [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  2.         static int LuaOpen_Socket_Core(IntPtr L)
  3.         {
  4.             return LuaDLL.luaopen_socket_core(L);
  5.         }
  6.         /// <summary>
  7.         /// 打开luasocket库
  8.         /// </summary>
  9.         protected void OpenLuaSocket()
  10.         {
  11.             LuaConst.openLuaSocket = true;
  12.             lua.BeginPreLoad();
  13.             lua.RegFunction("socket.core", LuaOpen_Socket_Core);
  14.             lua.EndPreLoad();
  15.         }
复制代码
添加完代码后在OpenLibs方法中调用下即可:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-28 10:19 , Processed in 0.104563 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表