网络的三要素
ip地址:表示网络中设备的唯一标识
ipv4: 由4个字节组成,采用点分十进制表示法
举例:192.168.66.202
ipv6: 由16个字节组成,采用冒分十六进制表示法
举例:fb34:66:77:ac:3f
常用的命令:
ipconfig: 查看本机的ip地址
ping: 检测网络和指定的ip是否连通端口号:表示某一台主机上应用程序的表示,是一个[0,65535]范围内的整数。
0~1023的端口号可能会被占用,建议使用1024之后的端口号。协议:网络中数据传输的规则
UDP: 面向无连接的,不安全的协议,每次传输64KB的数据
TCP: 面向有连接,安全的协议,传输数据的大小没有限制。
InetAddress类
public static InetAddress getByName(String host)
在给定主机名的情况下确定主机的 IP 地址。
public String getHostAddress()
返回 IP 地址字符串(以文本表现形式)举例:"192.168.83.44"
public String getHostName()
获取此 IP 地址的主机名。
//获取ip地址对象
InetAddress inetAddress = InetAddress.getByName("192.168.83.192");//获取主机地址
String address = inetAddress.getHostAddress();//获取主机名
String hostName = inetAddress.getHostName();
UDP通信
UDP发送端
1.创建DatagramSocket对象(码头)
2.创建DatagramPacket对象(包裹)
需要制定ip地址和端口号
3.调用send方法,发送数据(把包裹交给码头)
4.调用close方法,释放资源(关闭码头)
public class Sender {
public static void main(String[] args) throws IOException {
//1.创建DatagramSocket对象(码头)
DatagramSocket ds=new DatagramSocket();
//2.创建DatagramPacket对象(包裹)
//准备发送的数据
System.out.println("请输入要发送的数据:");
String str = sc.next();
byte[] bs=str.getBytes();
//发送数据的长度
int len=bs.length;
//指定接收的ip地址
String ip="127.0.0.1";
//指定接收的端口号
int port=10086;
DatagramPacket packet=new DatagramPacket(bs,len, InetAddress.getByName("127.0.0.1"),port);
//3.调用send方法,发送数据(把包裹交给码头)
ds.send(packet);
//4.调用close方法,释放资源(关闭码头)
ds.close();
}
}