Tencent / UnLua

A feature-rich, easy-learning and highly optimized Lua scripting plugin for UE.
Other
2.25k stars 615 forks source link

UE4的Socket和Unlua交互 #239

Open xiaotiekeng opened 3 years ago

xiaotiekeng commented 3 years ago

对了,想问你们...UE4自带的Socket里...Unlua经过Sprotobuf或Protobuf后,从Unlua在经过蓝图转成Fstring后因为有特殊字符会被截断,但是我有疑问,你们是怎么处理Unlua和Socket的交互? 因为搞不定,所以自己写了个非阻塞的Connet,Send,Recv,直接和Lua交互,才搞定了..但是疑问还是想搞懂

bailang1 commented 3 years ago

C++ 怎么调用 lua函数? 我包含UnLua模块后include "UnLua.h" 后报错lua.hpp错误

xiaotiekeng commented 3 years ago

@bailang1 https://github.com/zhangweiiscoding/UnLuaWithLibs 看这个例子

xiaotiekeng commented 3 years ago

群里大神给出了方案:使用BEGIN_EXPORT_ENUM等.Statically Export模式导出就可以直接交互.就可以Send和Recv的Char的类型了.如果非要通过蓝图,那得加一个UStruct或UClass的类,把Char和SIze的类型包含进去.

lzj10 commented 3 years ago

protobuf转出的byte string 从Lua传递到C++我们增加了长度字段来确定具体长度,不能依赖FString的自身长度判断

image image

从C++传递到Lua可以通过使用UnLua::FlStringWrapper 直接传递

image image

yeheiGame commented 2 years ago

1}{@Q359P7Z_F}25TKG (PA D4_L}LBCQGBXCOZ4$JG3F B 调用的是导出来的c++方法 参数是char* 貌似还是会被截断。 能贴一下传到c++里你们是怎么解析 数据的吗?

yeheiGame commented 2 years ago

} HW%R{D68M2`2_5{HJ34{3 自己提问自己解决了 --!没想到直接强转就可以了(uint8*)(messagee) 中间一堆误操作

xermao commented 2 years ago

C++ 怎么调用 lua函数? 我包含UnLua模块后include "UnLua.h" 后报错lua.hpp错误

遇到相同的问题了,记录下,修复方法为,在自己工程里引入Unlua和Lua模块,注意,必须Unlua写在Lua前面

TWITH2013 commented 1 year ago

@lzj10

protobuf转出的byte string 从Lua传递到C++我们增加了长度字段来确定具体长度,不能依赖FString的自身长度判断

image image

从C++传递到Lua可以通过使用UnLua::FlStringWrapper 直接传递

image image

hi 请问下你是怎么在lua中传递char*到C++的。 不加UFUNCTION。我无法调用C++函数