Tag: 广播

在C#中接收广播消息

我已经尝试了很多,但不知何故,接收由远程主机广播的数据报的代码似乎存在一些问题。 那么有人可以提供代码来使用UDP连接在C#中接收广播消息吗?

接收UDP广播(C#)的答案

我正在尝试发送udp广播,并在c#中收到答案。 虽然发送广播完美,但我没有收到c#中的任何答案。 但是当我看看wireshark时,我可以看到已经发送了一个答案: 从192.168.0.141发送到192.168.0.255 从192.168.0.105发送到255.255.255.255(这将是答案) Wireshark日志: 1 0.000000 192.168.0.141 192.168.0.255 UDP Source port: 55487 Destination port: 17784 2 0.000851 192.168.0.105 255.255.255.255 UDP Source port: 17784 Destination port: 55487 那是我的c#代码: private static byte[] SendBuffer = new byte[] { 1, 2, 3 }; public static void SendAndReceiveBroadcast( byte[] data, IPEndPoint broadcastEndpoint ) { using( Socket broadcastSocket = […]

网络发现对等网络的应用程序

我希望有两个类,一个服务器类和一个客户端类。 服务器类应该接收每个新客户端的IP地址和端口号,并将它们存储在列表中。 它应该为每个客户端提供已连接客户端及其IP地址的列表。 然后,客户端可以使用TCP连接相互通信。 问题是客户端不知道服务器的IP地址是什么。 然而,整个程序将在局域网上运行。 我的猜测是它需要某种UDP广播,但每次我试图暗示它都不起作用,除非程序的两个实例在同一台计算机上运行。 该应用程序将由具有有限计算知识的客户端安装,因此它应该只是在所有计算机上安装程序并插入网络的情况。 如果有人使用C#.net 3.5或更早版本对此进行可靠,明确的实施,我们将不胜感激。

C#UDP广播客户端/服务器不起作用

我正在使用.NET 2.0,并创建了一个相当简单的udp广播应用程序和UDP侦听器。 听众代码: Socket listener = new Socket( AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp ); IPEndPoint localEndPoint = new IPEndPoint( IPAddress.Any, 11000 ); listener.Bind( localEndPoint ); EndPoint ep = (EndPoint)localEndPoint; Console.WriteLine(“Ready to receive…”); byte[] data = new byte[1024]; int recv = listener.ReceiveFrom(data, ref ep); string stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(“received: {0} from: {1}”, stringData, ep.ToString()); listener.Close(); 服务器代码: […]

C#Android:在服务上获取广播接收器?

我正在开发xamarin.android中的辅助function服务。 一切都很好,但我想要服务上的广播接收器。 我知道我必须从广播接收器派生我的可访问性服务,但这是不可能的,因为该服务已经从Android.AccessibilityService派生。 实际上,当用户对主要活动进行一些配置更改时,我想提出一个广播接收器,我的可访问性服务应该监听。 那么,有什么想法吗?

发送和接收UDP数据包

以下代码在端口15000上发送数据包: int port = 15000; UdpClient udp = new UdpClient(); //udp.EnableBroadcast = true; //This was suggested in a now deleted answer IPEndPoint groupEP = new IPEndPoint(IPAddress.Broadcast, port); string str4 = “I want to receive this!”; byte[] sendBytes4 = Encoding.ASCII.GetBytes(str4); udp.Send(sendBytes4, sendBytes4.Length, groupEP); udp.Close(); 但是,如果我不能在另一台计算机上接收它,它就没用了。 我所需要的只是将命令发送到局域网上的另一台计算机,并让它接收它并做一些事情。 不使用Pcap库,有什么办法可以实现这个目标吗? 我的程序正在与之通信的计算机是Windows XP 32位,而发送计算机是Windows 7 64位,如果它有所作为。 我已经研究了各种net send命令,但我无法弄明白。 我也可以访问计算机(XP one)的本地IP,因为它可以在其上物理输入’ipconfig’。 […]