我目前正在使用 Vala 编写一个应用程序,该应用程序需要我通过网络发送数据。为了帮助创建数据包(并在以后更新协议),我创建了结构,我将其作为 void* 传递给方法。这些结构代表了数据包的排列方式,让我可以非常轻松地生成要发送的数据包,而不必过多地乱搞。然而,问题在于 GLib.OutputStream.write() 的 Vala 包装器不接受计数(即使原始方法接受)。Vala 获取传递给它的 uint8[] 的大小并将其提供给原始方法。有没有一种简单的方法来解决这个问题,无需编辑 GIO vapi?在提供尺寸的同时将 void* 投射到 uint8[] 可能是一种非常便宜的方法?一世' m 这里的目标是非常高的性能,因为应用程序需要同时维护数千个连接。提前感谢您的帮助。
〜迈克尔