【发布时间】:2015-11-24 14:40:04
【问题描述】:
是否有任何服务器-客户端之类的进程间通信方法允许:
- 服务器可靠地获取已连接客户端的进程 ID
- 任何连接到服务器的客户端应用程序
- 在 C/C++ 中工作
- 可选:也适用于 Linux
【问题讨论】:
-
我不这么认为;作为握手的一部分,你不能让客户端通过网络连接告诉你吗?
-
您可以尝试两种方式的连接:首先,您将客户端中的任务的端口权传输到服务器(在这种情况下,客户端必须将端口权发送到自己的任务端口) ,然后服务器将实际发送权插入到该任务中。这样你就可以在一定程度上知道哪个进程拥有端口权。
-
@K.Biermann Mach IPC。您知道要正确插入端口的任务,因为客户端给了您发送权限。你会使用mach_port_insert_right
-
这个想法是你调用mach_task_self 来获取你的任务端口,然后向服务器发送一个发送权限,然后使用mach_port_insert_right 将与该任务相关的发送权限插入到任务中。
-
@K.Biermann 干杯!抱歉耽搁了,现实生活妨碍了。我只是将其发布为答案。