package elte.java2_utikalauz5.net;
import java.io.*;
import java.net.*;
/**
Egy összeköttetés-mentes kliensalkalmazás.
Ez az alkalmazás csomagot küld az argumentumaiban megadott nevű
számítógép megadott sorszámú UDP portjára, a csomagban egy szó van,
amit a felhasználó a harmadik argumentumban adhat meg.
A programparaméterek:
- Annak a hostnak a neve, ahol a szerver fut
- A szerver UDP portjának a sorszáma
- A szervernek átküldendő szó
@link.forrásfájl {@docRoot}/../data/net/src ClClTeszt.java
@link.letöltés {@docRoot}/../data/net ClClTeszt.jar
@since Java Útikalauz programozóknak
*/
public class ClClTeszt {
public static void hasznalati_utasitas() {
System.out.println("Használat: java ClClTeszt " +
"számítógépnév portsorszám átküldendő-szó");
System.exit(-1);
}
public static void main(String[] args) {
int server_port = 0;
try {
DatagramSocket s = new DatagramSocket(); // kommunikációs végpont
if (args.length != 3) hasznalati_utasitas();
try { server_port = Integer.parseInt(args[1]); }
catch (NumberFormatException e) { hasznalati_utasitas(); }
try {// A szerver címe
InetAddress ip_cim = InetAddress.getByName(args[0]);
int uzenet_hossz = args[2].length(); // az üzenet hossza
byte[] uzenet = args[2].getBytes();
// programparaméternek az üzenet objektumba másolása
// az UDP csomag
DatagramPacket p = new DatagramPacket(uzenet, uzenet_hossz,
ip_cim, server_port);
s.send(p); // elküldjük a csomagot a kommunikációs végpontról
} catch (UnknownHostException e)
{ System.err.println("Ismeretlen hoszt!"); }
catch (IOException e)
{ System.err.println("Nem sikerült a küldés!"); }
finally { s.close(); } // megszüntetjük a kommunikációs végpontunkat
} catch (SocketException e)
{ System.err.println("UDP port lefoglalása nem sikerült!"); }
}
}