import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class UDPDiscardServer {
private static int port = 10019;
private static int MAX_PACKET_SIZE=65507;
public static void main(String[] args) {
byte[] buffer = new byte[MAX_PACKET_SIZE];
DatagramSocket datagramSocket=null;
try {
datagramSocket = new DatagramSocket(port);
DatagramPacket packet = new DatagramPacket(buffer,buffer.length);
while(true){
datagramSocket.receive(packet);
String s = new String(packet.getData(),0,packet.getLength(),"8859_1");
System.out.println(packet.getAddress());
System.out.println(packet.getPort());
System.out.println(s);
packet.setLength(buffer.length);
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
datagramSocket.close();
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UDPDiscardClient {
private static int port = 10019;
public static void main(String[] args) {
DatagramSocket datagramSocket=null;
try {
datagramSocket = new DatagramSocket();
InetAddress host = InetAddress.getByName("localhost");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("please input content");
while(true){
String line = br.readLine();
if("exit".equalsIgnoreCase(line)){
break;
}
DatagramPacket packet = new DatagramPacket(line.getBytes(),line.getBytes().length, host, port);
datagramSocket.send(packet);
}
} catch (SocketException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
datagramSocket.close();
}
}
}