2010-04-14 15 views
19

Ho un server di gioco (WoW). Voglio che i miei giocatori scarichino le mie patch personalizzate sul gioco. Ho fatto un programma che controlla l'aggiornamento/il download di cose. Voglio che il mio programma invii un pacchetto al mio server di gioco se il giocatore ha tutte le mie patch. Non ho bisogno di alcuna risposta dal server, lo gestirà, ma è un'altra storia.Invio pacchetto UDP in C#

Quindi voglio sapere come inviare un pacchetto a un server.

Grazie!

risposta

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

Grazie! Lo proverò! :) – 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); 
} 

Usage:

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

Puoi guardare il mio problema? Ho ottenuto il ritardo di tre secondi con il metodo Dispose utilizzando l'indirizzo IP non raggiungibile. @Bachor https://stackoverflow.com/questions/44694061/udpclient-unreachable-ip-connection-time-with-using-blocks –