Ho cercato per tutta la rete i lungo ed in largo ma niente
da fare...![]()
Ho la necessità di inviare un pacchetto di dati per
verificare se su un determinato PC è stato avviato
o meno un Server.
Utilizzando un UdpClient invio un pacchetto ed leggo i dati
in risposta alla richiesta, bene, fin qui tutto ok direte...
invece NO.
Nel caso in cui il Pc sia acceso ma il server non è avviato
tutto ok... se invece il PC non è raggiungibile (è spento)
l'applicazione va in blocco resta in attesa di dati in
risposta che mai arriveranno.
Scopo : visualizzare lo stato di 4 possibili server incodice:string CheckServer(String serverName, String whatEver) { const int numeroPorta = 5121; string risposta = "0ffline"; try { //Create an instance of UdpClient. UdpClient udpClient = new UdpClient(serverName, numeroPorta); if (udpClient == null) { udpClient = null; risposta = "offline"; return risposta; } Byte[] inputToBeSent = new Byte[256]; inputToBeSent = System.Text.Encoding.ASCII.GetBytes(whatEver.ToCharArray()); IPHostEntry remoteHostEntry = Dns.GetHostByName(serverName); IPEndPoint remoteIpEndPoint = new IPEndPoint(remoteHostEntry.AddressList[0], numeroPorta); if (remoteIpEndPoint == null) { remoteIpEndPoint = null; inputToBeSent = null; udpClient = null; risposta = "offline"; return risposta; } int nBytesSent = udpClient.Send(inputToBeSent, inputToBeSent.Length); Byte[] received = new Byte[512]; received = udpClient.Receive(ref remoteIpEndPoint); String dataReceived = System.Text.Encoding.ASCII.GetString(received); risposta = dataReceived; udpClient.Close(); } catch (Exception e) { risposta = "offline\n" + e.ToString(); return risposta; } return risposta; }
una pagina web in modo che chi voglia unirsi al gioco
possa sapere da subito se vi sono server attivi o no.
Ringrazio anticipatamente tutti quelli che mi sapranno dare
in qualche modo aiuto.
![]()

Rispondi quotando