UDP协议
UDP发送端:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPSend {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
byte[] data = "你好UDP".getBytes();
DatagramPacket dp = new DatagramPacket(data, data.length,InetAddress.getLocalHost(),8000);
// DatagramPacket dp = new DatagramPacket
DatagramSocket ds= new DatagramSocket();
ds.send(dp);
ds.close();
}
}
UDP接收端:
public class UDPReceive {
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
DatagramSocket ds = new DatagramSocket(8000);
byte[] data = new byte[1024];
DatagramPacket dp = new DatagramPacket(data, data.length);
ds.receive(dp);
String add = dp.getAddress().getHostAddress();
int port = dp.getPort();
int len = dp.getLength();
ds.close();
System.out.println(new String(data,0,len)+"...."+add+":"+port);
}
}
从键盘录入发送端:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class UDPsendDemo {
public static void main(String args[]) throws IOException{
Scanner sc = new Scanner(System.in);
while(true){
byte[] data = sc.nextLine().getBytes();
DatagramPacket dp = new DatagramPacket(data, data.length,InetAddress.getLocalHost(),9000);
DatagramSocket ds = new DatagramSocket();
ds.send(dp);
}
// ds.close();
}
}
接收端:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPreciveDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
DatagramSocket ds = new DatagramSocket(9000);
byte[] data = new byte[1024];
while(true){
DatagramPacket dp = new DatagramPacket(data, data.length);
ds.receive(dp);
InetAddress add = dp.getAddress();
int port = dp.getPort();
int len = dp.getLength();
System.out.println(new String(data,0,len)+"..."+add.getHostAddress()+":"+port);
}
}
}

浙公网安备 33010602011771号