UDP example

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();

}

}

}

猜你喜欢

转载自frankytony.iteye.com/blog/2284772
UDP