同一台计算机上两个程序之间的通信 - 如何?

时间:2011-09-18 21:00:15

标签: c# udp

我不知道如何开始。谷歌搜索后,我发现了here

//This is how you do it (kudos to sipwiz)
UdpClient udpServer = new UdpClient(localpt); 

//This is what the proprietary (see question) sender would do (nothing special) 
//!!! The following 3 lines is what the poster needs...
//(and the definition of localpt, of course)
UdpClient udpServer2 = new UdpClient();
udpServer2.Client.SetSocketOption(
    SocketOptionLevel.Socket,
    SocketOptionName.ReuseAddress, true);

udpServer2.Client.Bind(localpt);

但我不知道我还需要什么。我尝试了here的示例,但收到了一条错误消息:“远程主机强行关闭了现有连接。”

我该如何处理?

3 个答案:

答案 0 :(得分:5)

我建议放弃UDP。相反,请使用Named Pipes

它们更可靠。

答案 1 :(得分:2)

我认为最好将WCF与命名管道绑定一起使用

答案 2 :(得分:0)

命名管道是同一系统上的最佳选择。 由于性能更好,因此TCP导致流量不使用网络接口。