在C#中发送UDP数据包

时间:2010-04-14 13:28:50

标签: c# networking udp send packet

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

所以我想知道如何将数据包发送到服务器。

谢谢!

2 个答案:

答案 0 :(得分:43)

Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);

IPAddress serverAddr = IPAddress.Parse("192.168.2.255");

IPEndPoint endPoint = new IPEndPoint(serverAddr, 11000);

string text = "Hello";
byte[] send_buffer = Encoding.ASCII.GetBytes(text );

sock.SendTo(send_buffer , endPoint);

答案 1 :(得分:11)

static void SendUdp(int srcPort, string dstIp, int dstPort, byte[] data)
{
    using (UdpClient c = new UdpClient(srcPort))
        c.Send(data, data.Length, dstIp, dstPort);
}

用法:

SendUdp(11000, "192.168.2.255", 11000, Encoding.ASCII.GetBytes("Hello!"));
相关问题