走IPC的跨平台方式

时间:2017-11-30 02:21:46

标签: go ipc

我正在编写一个服务(守护进程),假设在* nix和Windows上运行。服务部分将有一个xxxctl配套程序,需要触发服务中的操作并从中接收反馈。

我最初看过信号,但这有两个问题:

  • 他们似乎并不是真正的跨平台(有特定于平台的警告)
  • 他们没有提供任何方式从信号接收者回复到发起者(在C / C ++接收者中将看到哪个PID发送信号,在Go中这不会暴露,除非使用cgo手动实现)

我目前正在寻找unix套接字和命名管道。每个都只在他们的世界中可用,这意味着增加了应用程序的复杂性和处理它。

我的问题是 - 除了IP套接字之外,是否还有其他选择可以使用Go以跨平台方式组织IPC通信?

PS:我想尽可能避免使用cgo和/或IP套接字,但不要完全拒绝这个想法。

0 个答案:

没有答案