2010-04-14 13 views
19

J'ai un serveur de jeu (WoW). Je veux que mes joueurs téléchargent mes patchs personnalisés dans le jeu. J'ai fait un programme qui vérifie les mises à jour/téléchargements. Je veux que mon programme envoie un paquet à mon serveur de jeu si le joueur a tous mes patches. Je n'ai pas besoin de réponse de la part du serveur, ça va le gérer, mais c'est une autre histoire. Donc, je veux savoir, comment envoyer un paquet à un serveur.Envoyer un paquet UDP en C#

Merci beaucoup!

Répondre

37
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); 
+0

Merci! Je vais le tester! :) – DOminik

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

Utilisation:

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

Pourriez-vous regarder mon problème? J'ai obtenu le délai de trois secondes avec la méthode Dispose en utilisant l'adresse IP Unreachable. @Bachor https://stackoverflow.com/questions/44694061/udpclient-unreachable-ip-connection-time-with-using-blocks –