繁体   English   中英

C#等待进程启动

[英]C# wait for process to start

我有2个程序(客户端和服务器)使用ipc进行通信。 基本上,客户端在服务器上发送一些数据,它们在同一台计算机上工作。 我希望客户端等待服务器进程启动,如果它还没有启动但不太明白如何实现这一点。 我想到使用2个事件(一个是我的客户端创建的,一个是由服务器创建的),并且包含两个调用以在临界区中等待这些事件。 你会建议什么?

IPC如何运作? 我假设有NamedPipes,但这个想法对我来说是一样的。 我过去不得不做类似的事情并大致做到这一点:

  • 客户端启动,连接到IPC服务器(假设NamedPipes。无所谓)

  • 连接失败,客户端通过触发服务器启动来恢复(这可以通过多种方式处理,从执行服务器二进制文件从已知位置到使用触发器启动服务

  • 服务器启动并作为首先声称IPC地址之一(或者如果您更喜欢那个地址的全局互斥体)。 如果从多个客户端启动多个服务器进程,则第一个客户端获胜,而其他客户端再次死亡。

  • 客户在适当的时间后重试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM