我的应用程序包含两个方面 - c++ 上的客户端和 c# 上的服务器端。我需要客户端以尽可能低的延迟接收结构。所以我希望它接收一个指向结构的指针并避免编组。结构是这样的:
struct OrderAction
{
OrderActionType actionType;
uint UserId;
int OrdersExecutorId;
int InstrumentId;
int StrategyId;
....
所以我想我想这样做:
- 服务器 c# 端将指针传递给客户端 c++ 端。
- 在 c++ 端通过接收到的指针读取和处理结构。
- 如果需要,在 c# 端释放资源(删除结构)。
将来我计划用 c++ 服务器端替换 c# 服务器端,所以我希望客户端完全独立。客户不应该知道它是从 c# 调用和使用的。
问题:
- 我应该使用这个算法吗?
- 如果是这样,那么在第 1 步我应该在托管内存还是非托管内存中分配结构?
- 我应该使用什么方法,可能有人可以链接一个例子?