Sending UDP Packet in C#

2019-01-17 08:01发布

问题:

I have a game server (WoW). I want my players to download my custom patches to the game. I've done a program that checks for update/downloading things. I want my program to send a packet to my game server if player have all my patches. I dont need any response from the server, it will handle it, but its another story.

So I want to know, how to send a packet to a server.

Thank you!

回答1:

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);


回答2:

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

Usage:

SendUdp(11000, "192.168.2.255", 11000, Encoding.ASCII.GetBytes("Hello!"));