点击一个按钮,一个简单的消息将从一个进程发送到另一个进程,消息将只是一个带有字符串参数的简单命令,共计50个字符(绝对远小于1k),如< / p>
DisplaySomeInfo("param1", "param2")
并满足以下条件:
在维基百科中有一个很长的list of ways to do IPC,但最简单的似乎是非连接套接字选项。
有没有更好的方法(更容易实现/维护/调试,更多的未来证明......)而不是简单地发送/接收UDP数据包(每个数据包一个消息,TTL = 0),再加上一个JSON(de)序列化器?
答案 0 :(得分:0)
对于这些要求,只需将UDP单播数据包发送到localhost上的某个端口似乎是理想的选择。唯一的问题是必须选择并修复端口号。但如果这不是问题,那么简单地发送和接收UDP数据包就像它一样容易,而不需要第三方库。
从.Net应用程序发送UDP数据包的Bare-bones示例:
public static void SendUdpPacket(int destinationPort, string payload)
{
IPEndPoint endPoint =
new IPEndPoint(IPAddress.Parse("127.0.0.1"), destinationPort);
byte[] buffer = Encoding.UTF8.GetBytes(payload);
Socket socket =
new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.SendTo(buffer, endPoint);
socket.Close();
}
唯一的问题是如何编码多个参数。但是为此,有许多方法,内置于许多语言中的是HTTP URL编码。