首页 > 解决方案 > 用 C 编写的 Unity 原生网络插件

问题描述

由于某些原因,我必须在 C 中为我的 Unity 客户端实现我自己的网络。所以我只是查看了 Unity 原生插件,它允许我用 C 编写我的网络并供我的客户端使用。
我的服务器是用 C 编写的,应该与我的 Unity 客户端通信。

我的协议已经建立,我想将所有网络实现到插件中,即连接到服务器,然后接收数据并将数据反序列化为 C 结构。

我想知道插件的限制。我正要创建一个HandlerCallbackRegister类,允许从 C#(来自 Unity)为每个网络消息注册不同的回调,但是 C# 和 C 之间的函数原型如何兼容?

我的意思是,一个回调可能是例如onPlayerConnect(size_t clientId, struct player_connect_message *msg);,但是这怎么可能在 C# 中定义一个像这个回调这样的函数呢?将 C# struct 转换为 C struct 吗?size_t 呢?我有点困惑,如果有人可以给我一个例子或一些解释。

提前致谢

标签: unity3dplugins

解决方案


推荐阅读