我有一个服务器进程和一些客户端,客户端需要尽可能多地向服务器发送结构,他们不会等待任何答案,只需发送和发送。在这种情况下,我可以通过哪种方式传输下一个结构:
typedef struct tagTDATA {
BYTE c1;
DWORD dw1;
DWORD dw2;
char ch[255];
} TDATA, *PTDATA;
不能使用Boost。 Win API的最佳方式。我不需要代码解决方案只是指向正确的方向。感谢。
答案 0 :(得分:0)
根据我的理解,您可以通过实现共享队列来解决此问题。问题的模式更倾向于Producer Consumer Problem
你也可以采取这些例子
答案 1 :(得分:0)
服务器和客户端是否在不同的主机上?如果是这样,为什么不采用UDP和方法来序列化您的结构以通过网络发送,第二个方法将其恢复到结构? ...
答案 2 :(得分:0)
WM_COPYDATA
专门用于在进程之间传输结构。看看吧。
你提到了指针 - 不,你不能指望在进程之间工作的指针。如果您有可变长度数组或指针,则可能需要序列化数据,例如使用BSON或XML。
答案 3 :(得分:0)
听起来您正在寻找异步IPC机制。套接字可能是实现这一目标的最简单方法。管道将是另一个明显的选择,并且有许多更高级别的库可用,但我认为套接字听起来最合适。
答案 4 :(得分:-1)
ReadProcessMemory和WriteProcessMemory应该能够为你做到这一点。