要求 (不能修改)
我有一个 Windows 窗体应用程序。当这个应用程序运行时,它会监听一个 UDP 端口。
用户可以登录windows打开同一个应用程序运行,然后切换windows用户不注销打开同一个应用程序运行。
问题
两个应用程序通过使用监听同一个端口
SocketOptionName.ReuseAddress
如这个线程所示。但只有一个人可以获得数据。
问题
有什么方法可以让另一个用户的应用程序读取数据?否则,我可以以某种方式收听通知我有关 Windows 用户切换的事件吗?
编辑
这是用于设置侦听器的代码
IPEndPoint localEndPoint = new IPEndPoint(localAddress, listenPort);
UdpClient udpListener = new UdpClient();
udpListener.ExclusiveAddressUse = false;
udpListener.Client.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReuseAddress, true);
udpListener.Client.Bind(localEndPoint);
IPEndPoint ep = new IPEndPoint(IPAddress.Any, 0);
byte[] answer = udpListener.Receive(ref ep);