如何实现用C编写的Linux程序之间的通信?具体来说,我想要以下内容:
我的程序可以在多个实例中运行。启动时,我希望我的程序检测到我的程序中已经运行的所有其他实例,然后它应该能够向它们发送文本字符串。另一方面,我还希望已经运行的实例得到通知,说明新实例已经启动,并且他们也应该能够将文本字符串发送到新实例。
有人能指出一些可用于在Linux上实现此类软件设计的API吗?在Windows上,我可以简单地枚举所有窗口,检查它们的类名以查找我的程序的所有实例,然后使用可用于向其发送数据的系统注册自定义消息。但是我如何在Linux上执行此操作?
感谢任何提示!
答案 0 :(得分:2)
你有很多选择:
如果是独立机器,只有一个数据流,我建议选择1号。
答案 1 :(得分:1)
我可能会从named pipes
开始答案 2 :(得分:1)
答案 3 :(得分:0)
我为此目的使用了套接字和多播。这允许在同一LAN上的多台计算机之间分配进程。