zoo*_*opa 10 c++ sockets dll networking
我有一个应用程序(A)需要启动另一个应用程序(B).我需要在应用程序之间传递数据.我可以想到两种方法.首先是打开一个插座.第二种是通过dll共享数据.
开口插座方法很简单.
dll方法我有一些问题吗?我可以将插件dll加载到B.我想创建一个A可以用来将数据传递给B的dll.加载dll时,只加载了一个dll实例?如果是这样,这是否意味着可以在加载dll的应用程序之间共享数据?
什么是更好的选择?
还有其他方法吗?
小智 14
您无法通过DLL有效地共享数据.其他方法:
最简单的方法(假设Windows,因为你提到了一个DLL)可能是使用CreateProcess并打开子进程的管道,如下面的简化形式所述:http://msdn.microsoft.com/en-us/library/ms682499的.aspx
命名管道可以替代,特别是如果您无法控制所有进程的生命周期.http://msdn.microsoft.com/en-us/library/aa365590.aspx
对于简单的情况,邮件槽可能是一个充分的选择.
http://msdn.microsoft.com/en-us/library/aa365574.aspx#base.using_a_mailslot_for_ipc
这是Windows的各种进程间通信技术的更长列表. http://msdn.microsoft.com/en-us/library/aa365574.aspx
对于本地发生的事情,使用套接字似乎有点矫枉过正.此外,您必须实施自己的安全机制以防止欺骗攻击,而不是依赖于大多数其他IPC方法的集成安全机制.
| 归档时间: |
|
| 查看次数: |
14306 次 |
| 最近记录: |