import java.net.InetAddress; import java.net.UnknownHostException; /*InetAddress:表示Internet协议(IP)地址 public static InetAdderss getByName(String host):确定主机名称的IP地址,主机名是机器名或IP地址 public String getHostName():获取IP地址的主机名 public String getHostAdderss(): 返回文本显示中的IP地址字符串 * * */ public class InetAddressDemo { public static void main(String[] args) throws UnknownHostException { // public static InetAdderss getByName(String host):确定主机名称的IP地址,主机 InetAddress address = InetAddress.getByName("192.168.1.66"); //public String getHostName():获取IP地址的主机名 String name = address.getHostName(); //public String getHostAdderss(): 返回文本显示中的IP地址字符串 String ip = address.getHostAddress(); System.out.println("主机名"+name); System.out.println("IP地址"+ ip); } }
import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; /*UDP接收数据的步骤: 1.创建接收端的Socket对象(DatagramSocket) 2.创建一个数据包,用于接收数据 3.调用DatagramSocket对象的方法接收数据 4.解析数据包,并把数据在控制台显示 5.关闭接收端 */ public class UDPreceiveDemo { public static void main(String[] args) throws IOException { // 1.创建接收端的Socket对象(DatagramSocket) //DatagramSocket(int port)构造数据报套接字并将其绑定到本地主机上的指定端口 DatagramSocket ds = new DatagramSocket(10086); // 2.创建一个数据包,用于接收数据 byte[] bys = new byte[1024]; DatagramPacket dp = new DatagramPacket(bys,bys.length); //3.调用DatagramSocket对象的方法接收数据 ds.receive(dp); //4.解析数据包,并把数据在控制台显示 //byte[] getData() 返回数据缓冲区 byte[] datas = dp.getData(); //int getLength() 返回要发送的数据的长度或者接收到的数据的长度 int len = dp.getLength(); //把字节字符数据变成字符串 // String dataString = new String(datas,0,len); // System.out.println("数据是"+dataString); System.out.println("数据是"+new String(datas,0,len)); //5.关闭接收端 ds.close(); } }
import java.io.IOException; import java.net.*; /*UDP发送数据步骤:1.创建发送端的Socket对象(DatagramSocket) * 2.创建数据,并把数据打包 * 3.调用DatagramSocket对象的方法发送数据 * 4.关闭发送端 */ public class UDPsendDemo { public static void main(String[] args) throws IOException { //1.创建发送端的Socket对象(DatagramSocket) //DatagramSocket()创建数据报套接字并将其绑定到本地主机上的任何可用端口 DatagramSocket ds = new DatagramSocket(); // 2.创建数据,并把数据打包 //构建一个数据包,发送长度为length的数据包到指定主机上的指定端口号 byte[] bys = "hello".getBytes(); // int length = bys.length; // InetAddress address = InetAddress.getByName("192.168.1.1"); // int port = 10086; // DatagramPacket dp = new DatagramPacket(bys,length,address,port); //简化上面步骤,进行嵌套 DatagramPacket dp = new DatagramPacket(bys,bys.length,InetAddress.getByName("192.168.1.1"),10086); //3.调用DatagramSocket对象的方法发送数据 ds.send(dp); //4.关闭发送端\ ds.close(); } }
B站学习笔记,感谢黑马!下面是链接: