gpt4 book ai didi

c# - 通过网络在 C/C++ 服务器、C/C++ 和 C# 客户端之间发送数据结构

转载 作者:行者123 更新时间:2023-11-30 00:58:26 34 4
gpt4 key购买 nike

我的客户将使用名为 annoucement 的结构/类与客户通信。我想我会用 C++ 编写服务器。会有很多不同的类继承annoucement。我的问题是通过网络将这些类发送给客户端

我想也许我应该使用 iovec。但是我不知道C#里面有没有对应iovec的。

思路是:我将发送一个带有 writev 的结构,客户端将使用 readv 并从套接字中读取数据,就像它是一个公告类一样,检查接收到的结构中的 uint16 变量以推断出确切的类型并使用 apprioprite iovec/读取其余数据阅读。

C# 可以将整个对象作为数组发送,但如何在 C/C++ 中解释它?

我希望 C/C++ 和 C# 客户端都使用相同的协议(protocol),但这是我第一次设计协议(protocol),我不确定我的所有想法都能一起工作。

如有任何提示,我们将不胜感激。

最佳答案

不要尝试根据结构来定义协议(protocol)。

定义公告的格式,即哪些字节按什么顺序组成公告,然后定义多个公告如何按顺序传输。

一旦您定义了这种有线格式,您就可以使用每种编程语言中最合适的编程语言结构、库和框架来实现每种编程语言的解析器和编写器。

protobuf 就是一个很好的例子:format specification , C++, Java, Python implementation , .NET implementation .

关于c# - 通过网络在 C/C++ 服务器、C/C++ 和 C# 客户端之间发送数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162345/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com