相对于TCP,UDP不可靠,但是效率更高
1、接收端
package jichu;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class UDPReceive {
public static void main(String[] args) {
try {
DatagramSocket receive = new DatagramSocket(6666);
//创建字节数组
byte[] buf = new byte[1024];
//创建数据报包对象
DatagramPacket packet = new DatagramPacket(
package jichu;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UDPSend {
public static void main(String[] args) throws SocketException {
DatagramSocket ds = new DatagramSocket();
String msg = "今天天气不错!";
//ip地址对象
InetAddress myip;
try {
myip = InetAddress.getByName("127.0.0.1");
DatagramPacket p = new DatagramPacket(msg.getBytes(),0, msg.getBytes().length, myip,6666);
ds.send(p);
System.out.println("发送成功~~~");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
buf, buf.length);receive.receive(packet);System.out.println("收到:" + new String(buf));} catch (SocketException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
2、发送端
package jichu;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class UDPSend {
public static void main(String[] args) throws SocketException {
DatagramSocket ds = new DatagramSocket();
String msg = "今天天气不错!";
//ip地址对象
InetAddress myip;
try {
myip = InetAddress.getByName("127.0.0.1");
DatagramPacket p = new DatagramPacket(msg.getBytes(),0, msg.getBytes().length, myip,6666);
ds.send(p);
System.out.println("发送成功~~~");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3、DatagramSocket(发送和接收数据报包)
DatagramPacket(数据报包,实现无连接包投递服务)