SERVER:package TCPVideo; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class UDPReciver extends Thread{ private DatagramSocket ds; private DatagramPacket dp; private byte[]data; private byte[]rec; private boolean flag = true; public UDPReciver(int port){ try { ds = new DatagramSocket(port); rec = new byte[5000]; dp = new DatagramPacket(rec,rec.length); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void run(){ try { while(flag){ ds.receive(dp); data = null; data = new byte[dp.getLength()]; System.arraycopy(dp.getData(), 0, data, 0, dp.getLength()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void setFlag(){ flag = false; if(ds!= null){ ds.close(); ds = null; dp = null; } } public byte[]getData(){ return data; } public static void main(String[]args){ UDPReciver u = new UDPReciver(2000); u.start(); } } CLIENT:package TCPVideo; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; public class UDPSender { private DatagramSocket ds; private DatagramPacket dp; private InetAddress addr ; private int port; public UDPSender(String ip,int port1){ try { ds = new DatagramSocket(); addr = InetAddress.getByName(ip); port = port1; } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void send(byte[]data){ dp = new DatagramPacket(data,0,data.length,addr,port); try { ds.send(dp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void close(){ if(ds!=null){ ds.close(); ds = null; } } }