public static void main(String[] args)
throws IOException
{
if ((args.length < 2) || (args.length > 3))
{
throw new IllegalArgumentException("Parameter(s):<Server><Word>[<Port>]");
}
InetAddress serverAddress = InetAddress.getByName(args[0]);
byte[] bytesToSend = args[1].getBytes();
int servPort = (args.length == 3) ? Integer.parseInt(args[2]) : 7;
DatagramSocket socket = new DatagramSocket();
socket.setSoTimeout(TIMEOUT);
DatagramPacket sendPacket = new DatagramPacket(bytesToSend, bytesToSend.length, serverAddress, servPort);
DatagramPacket receivePacket = new DatagramPacket(new byte[bytesToSend.length], bytesToSend.length);
int tries = 0;
boolean receivedResponse = false;
do
{
socket.send(sendPacket);
try
{
socket.receive(receivePacket);
if (!receivePacket.getAddress().equals(serverAddress))
{
throw new IOException("Received Packet From An Unknown Source");
}
receivedResponse = true;
}
catch (InterruptedIOException e)
{
tries += 1;
System.out.println(MAXTRIES - tries + "MORE TRIES");
}
} while ((!receivedResponse) && (tries < MAXTRIES));
if (receivedResponse)
{
System.out.println("RECEIVED:" + new String(receivePacket.getData()));
}
UDP_Client
最新推荐文章于 2023-12-04 22:50:30 发布