Tag: udp

c#中的UDP数据包捕获

Wireshark使用以下详细信息捕获LAN中的UDP数据包 Source IP 192.168.1.2 Destination IP 233.xxx Source Port 24098 Destination Port 12074,12330 我怎样才能在c#中捕获它?

在C#中发送UDP数据包

我有一个游戏服务器(魔兽世界)。 我希望我的玩家能够将自定义补丁下载到游戏中。 我做了一个程序来检查更新/下载的东西。 如果玩家拥有我的所有补丁,我希望我的程序将数据包发送到我的游戏服务器。 我不需要服务器的任何响应,它将处理它,但它的另一个故事。 所以我想知道,如何将数据包发送到服务器。 谢谢!

UDP打孔实现

我正在尝试完成UDP打孔。 我的理论基于这篇文章和WIKI页面 ,但我面临着C#编码的一些问题。 这是我的问题: 使用此处发布的代码,我现在能够连接到远程计算机并在同一端口上侦听传入连接(将2个UDP客户端绑定到同一端口)。 由于某种原因,对同一端口的两个绑定相互阻止接收任何数据。 我有一个响应我的连接的UDP服务器,所以如果我先将任何其他客户端绑定到端口之前连接到它,我会得到它的响应。 如果我将另一个客户端绑定到端口,则不会在任一客户端上接收数据。 以下是显示我的问题的2个代码段。 第一个连接到远程服务器以在NAT设备上创建规则,然后在另一个线程上启动侦听器以捕获传入的数据包。 然后代码将数据包发送到本地IP,以便侦听器获取它。 第二个只发送数据包到本地IP,以确保这是有效的。 我知道这不是真正的打孔,因为我在不使用NAT设备的情况下将数据包发送给自己。 我现在面临一个问题,如果我在NAT设备旁边使用计算机进行连接,我认为这不会有任何不同。 [编辑] 2/4/2012我尝试在我的网络上使用另一台计算机和WireShark(数据包嗅探器)来测试监听器。 我看到从其他计算机传入的数据包但是没有被侦听器UDP客户端(udpServer)或发送方UDP客户端(客户端)接收。 [编辑] 2/5/2010我现在添加了一个函数调用,在初始发送和接收数据包之后关闭第一个UDP客户端,只有第二个UDP客户端才能侦听端口。 这有效,我可以从该端口上的网络内部接收数据包。 我现在将尝试从网络外部发送和接收数据包。 我一发现就会发布我的发现。 使用此代码,我在侦听客户端上获取数据: static void Main(string[] args) { IPEndPoint localpt = new IPEndPoint(Dns.Resolve(Dns.GetHostName()).AddressList[0], 4545); ThreadPool.QueueUserWorkItem(delegate { UdpClient udpServer = new UdpClient(); udpServer.ExclusiveAddressUse = false; udpServer.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); udpServer.Client.Bind(localpt); IPEndPoint inEndPoint = new IPEndPoint(IPAddress.Any, 0); Console.WriteLine(“Listening […]

C#UDP套接字客户端和服务器

我的第一个问题。 我是这种编程的新手,我只编写了.NET网站和表单。 现在,我工作的公司,要求我制作一个ActiveX组件,它监听UDP消息,并将它们变成事件。 UDP消息是从Avaya系统发送的,所以我被告知要测试我的ActiveX,首先我需要创建一个只发送UDP的应用程序(只有一个发送预定义UDP字符串的按钮)。 然后创建监听器套接字,普通的C#app,它将从测试应用程序获取那些传输的UDP字符串。 两个应用程序都可以在同一台机器上运行 后来,当我得到这个工作时,我需要使监听器成为一个ActiveX组件,但首先要做的事情。 我需要知道是否有关于此的任何好的教程,以及如何开始的任何想法? 我很抱歉我的无知,但我真的很新,我真的没有时间学习这个,因为它必须在2周内完成。 提前致谢。 编辑:我设法创建了2个简单的控制台应用程序,并成功地在它们之间发送UDP消息。 发送方仅用于测试,现在我需要重新设置接收方以获取UDP消息并将其“转换”为事件。 最后,使其成为ActiveX控件……

UdpClient在广播地址上接收

在c#中我使用的是UdpClient.Receive函数: public void StartUdpListener(Object state) { try { udpServer = new UdpClient(new IPEndPoint(IPAddress.Broadcast, 1234)); } catch (SocketException ex) { MessageBox.Show(ex.ErrorCode.ToString()); } IPEndPoint remoteEndPoint = null; receivedNotification=udpServer.Receive(ref remoteEndPoint); … 但是我收到一个套接字exception,说该地址不可用,错误代码为10049我该怎么做才能否定这个exception?

C#如何制作简单的UDP服务器

我可以使用UdpClient类创建UDP服务器和客户端吗? 我需要从服务器向所有客户端发送图像。 有些人可以给我看一个代码示例。 我是新手。

将UDP消息广播到所有可用的网卡

我需要向特定的IP和端口发送UDP消息。 由于有3张网卡, 10.1.xx 10.2.xx 10.4.xx 当我发送UDP消息时,我只在一个网络适配器中收到消息…其余的ip没有收到。 我想在发送消息时检查网络适配器。 我怎样才能做到这一点? 目前我使用以下内容: IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(LocalIP), 0); IPEndPoint targetEndPoint = new IPEndPoint(TargetIP, iTargetPort); UdpClient sendUdpClient = new UdpClient(localEndPoint); int numBytesSent = sendUdpClient.Send(CombineHeaderBody, CombineHeaderBody.Length, targetEndPoint);

通过互联网UDP多播?

我不确定如何最好地解决我的问题。 我有一个服务,在远程机器上运行接收和处理UDP数据包。 我希望服务能够将这些数据包重新发送给碰巧想要它们的任何人(可能是没有人,通常是一台机器,但可能更多) 我认为UDP多播是理想的 – 服务可以发送到多播组,无论有多少接收者注册,或者即使没有。 但是,我希望能够通过互联网访问这些内容,而且从我收集到的内容中,这对于UDP多播来说几乎是不可能的。 我可能会用另一种方法来实现这个目标吗? 如果相关,我的客户端和服务都是用C#编写的。

如何使用UDP广播进行网络发现

我想在C#中使用UDP Broadcast进行网络发现。 我不知道该怎么做。 你能告诉我怎么做的建议吗? 我想做这个教程 。