由于某些原因,我必须在C中为我的Unity客户端实现自己的网络。所以我只是查看Unity本机插件,它允许我用C编码我的网络并由我的客户使用。
我的服务器是用C语言编写的,应该与我的Unity客户端通信。
我的协议已经构建,我想将所有网络实现到插件中,即连接到服务器,然后接收和反序列化数据到C结构。
我想知道插件的局限性。我打算创建一个HandlerCallbackRegister
类,它允许来自C#(来自Unity)为每个网络消息注册不同的回调,但是如何兼容C#en C之间的函数原型?
我的意思是,回调可能是例如onPlayerConnect(size_t clientId, struct player_connect_message *msg);
但是如何定义像C#中的回调这样的函数呢?将C#结构转换为C结构吗? size_t怎么样?我有点困惑,如果有人可以给我一个例子或一些解释。
提前致谢