获取ip地址
import java.io.IOException;
import java.net.InetAddress;
//inetAddress类演示,它主要是封装关于Ip的类
public class IpClass{
public static void main(String[] args) throws IOException{
InetAddress ip=InetAddress.getByName("172.27.35.1");//该类没有构造方法,无法创建对象,通过类名来调用方法
String st_ip=ip.getHostAddress();//该方法返回的是字符串类型的ip地址
String name=ip.getHostName();//改方法返回的是主机名
System.out.println(st_ip+"---"+name);
}
}
UDP协议发送端
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPclass{
public static void main(String[] args) throws IOException{
//创建发送端对象,此类无法对对象进行包装,发送对象需要对数据进行打包
String value ="我是一个有用的资源";
DatagramSocket d=new DatagramSocket();
//为打包数据准备资源
byte[] b=value.getBytes();
InetAddress ip=InetAddress.getByName("172.27.35.1");
DatagramPacket da=new DatagramPacket(b,b.length,ip,8080);
d.send(da);
d.close();
}
}
UDP协议接收端
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPclass2 {
public static void main(String[] args) throws IOException {
// 创建接收端对象
DatagramSocket d = new DatagramSocket(8080);
// 创建一个数组来存放发送过来的数据
byte[] bt = new byte[1024];
// 对数据进行拆包
DatagramPacket dg = new DatagramPacket(bt, bt.length);
// 拆完包后就可以进行接收数据了
d.receive(dg);
// 对接受过来的数据进行处理
int length = dg.getLength();
InetAddress ip = dg.getAddress();
String ip_st = ip.getHostAddress();
int poirt = dg.getPort();
System.out.println(length + "--" + ip_st + "--" + poirt);
d.close();
}
}
网友评论