获取IP地址方法
一、InetAddress类
//获取本机地址,静态方法
static InetAddress getLocalHost();
InetAddress inet = InetAddress.getLocalHost();
//获取此IP地址的主机名
String getHostName();
String name = InetAddress.getLocalHost().getHostName();
//根据主机名、IP地址、域名获取IP地址
static InetAddress getByName(String host);
//返回一个IP地址的字符串展示形式
String getHostAddress();
//获取域名所拥有的服务器地址(多个)
InetAddress[] arr = InetAddress.getAllByName("www.baidu.com");
二、URLEncoder类和URLDecoder类
URLEncoder类和URLDecoder类用于完成普通字符串和application/x-www-form-urlencoded MIME字符串之间的转换。
//URLDecoder:解码,将特殊中文字符串转换为普通字符串
String string1 = URLDecoder.decode("%E5%8D%83%E9%94%8B", "utf-8");
System.out.println(string1);
//URLEncoder:编码,将普通字符串转换为特殊字符串
String string2 = URLEncoder.encode("Java的开发指南", "GBK");
System.out.println(string2);
//注意:编码和解码需要采用相同的字符集
String string3 = URLDecoder.decode(string2, "utf-8");
System.out.println(string3);
基于TCP的网络编程
TCP:Transmission Control Protocol,传输控制协议,基于字节流的传输层通信协议。
特征:
- TCP协议是完全依赖IO流的,面向连接的!!!1对1
- 数据传输没有大小限制
- 因为面向连接,所以数据安全
- 因为面向连接,所以速度较慢
- TCP协议严格区别客户端和服务器
TCP的三次握手
> a.客户端向服务端发送一个请求
>b.服务端收到请求后,回客户端一个响应
>c.客户端向收到服务端的响应后,回服务端一个确认信息
一、Socket和ServerSocket
Socket(套接字)是操作系统提供的一种底层的通信机制,在网络传输中,两台电脑必须安装有Socket才可以进行数据传输和通讯,不同的传输协议使用的是不同的Socket。
Socket常用方法
//返回套接字连接地址
InetAddress getInetAddress(