网络编程的目的:
传播交流信息,数据交换、通信。
网络通信的要素(要想达到 网络编程的目的 需要什么)
- 知道对方的位置:IP和端口号
- 规则:网络通信协议TCP/UDP
java万物皆对象
- 有ip相关的类,直接进行IP相关的操作
- 有TCP/IP相关的类
IP
IP地址:---->对应的类:InetAddress
- 唯一定位一台计算机
- 127.0.0.1:本机localhost
- IP地址分类
按地址分类
1、ipv4
例如:127.0.0.1
4个字节,每个字节范围0~255
2、ipv6
公网私网
- 域名
方便记忆IP
例如百度的域名:www.baidu.com ;百度对应的IP: 39.156.66.14。显然域名更好记
。
代码:
package Demo05;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class TestInetAddress {
public static void main(String[] args) {
try {
//查询本机地址
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress2 = InetAddress.getByName("localhost");
System.out.println(inetAddress2);
InetAddress inetAddress3 = InetAddress.getLocalHost();
System.out.println(inetAddress3);
//查询网站ip地址
InetAddress inetAddress4 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress4);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
端口
tasklist | findstr “8696” 中的 | ,是linux命令,表示过滤,先执行 | 后面的语句,把结果带入 | 前面的语句。
代码:
package Demo05;
import java.net.InetSocketAddress;
public class TestSocketAddress {
public static void main(String[] args) {
//得到IP+端口号
InetSocketAddress socketAddress1 = new InetSocketAddress("127.0.0.1", 8080);
InetSocketAddress socketAddress2 = new InetSocketAddress("localhost", 8080);
System.out.println(socketAddress1);
System.out.println(socketAddress2);
System.out.println(socketAddress1.getAddress());//得到IP
System.out.println(socketAddress1.getHostName());//得到主机名
System.out.println(socketAddress1.getPort());//得到端口号
}
}