我可以使用下面的代码
侦听Udp端口514UdpClient client = new UdpClient
{
ExclusiveAddressUse = false
};
IPEndPoint localEp = new IPEndPoint(IPAddress.Any, 514);
client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
client.ExclusiveAddressUse = false;
client.Client.Bind(localEp);
IPAddress multicastaddress = IPAddress.Parse("239.0.0.222");
client.JoinMulticastGroup(multicastaddress);
Console.WriteLine("Listening this will never quit so you will need to ctrl-c it");
while (true)
{
Byte[] data = client.Receive(ref localEp);
string strData = Encoding.Unicode.GetString(data);
Console.WriteLine(strData);
}
当我试图打开任何第三方应用程序,例如同时在同一个Udp端口514上侦听的“Visual Syslog Server”时,我的应用程序将不会显示任何结果,也不会出现任何错误。
使用Multicast的一些建议,我在上面的代码中试过,但没有工作。
我有什么遗漏或如何做到这一点?谢谢!