网络编程(二)IP地址、端口
IP
IP基本知识
- ip:唯一定位一台网络上计算机
- 特殊的ip地址:
- 127.0.0.1:本机localhost
- ip地址的分类:
- ipv4/ipv6
- IPV4:127.0.0.1,4个字节组成。0~255,42亿,2011年用尽
- IPV6:,128位,8个无符号整数
- 例:2001:0bb2:aaaa:0015:0000:0000:1aaa:1312
- 公网(互联网)-私网(局域网)
- 192.168.xx.xx:专门给组织使用的
- ABCD类地址
- 域名:记忆IP问题
- IP:www.jd.com
- ipv4/ipv6
InetAddress类(和IP有关的类)
- InetAddress类没有构造器,没有字段,不能new出来
- InetAddress类需要靠方法获得
InetAddress类方法
public class TestInetAddress {
public static void main(String[] args) {
try {
//直接通过getByName方法获取确定主机名称的IP地址。
//查询本机地址1
InetAddress inetAddress1=InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
//查询本机地址2
InetAddress inetAddress2=InetAddress.getByName("localhost");
System.out.println(inetAddress2);
//查询本机地址3
InetAddress inetAddress3=InetAddress.getLocalHost();
System.out.println(inetAddress3);
//查询网站ip地址
InetAddress inetAddress5=InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress5);
//常用方法
//获得ip
System.out.println(inetAddress5.getHostAddress());
//获得域名,也可以用来获得自己电脑的名字
System.out.println(inetAddress5.getHostName());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
//输出:
/127.0.0.1
localhost/127.0.0.1
DESKTOP-JBU4QH4/192.168.0.105
www.baidu.com/220.181.38.149
220.181.38.149
www.baidu.com
端口
什么是端口
-
端口表示计算机上的一个程序的进程
-
不同的进程有不同的端口号,用来区分软件
-
被分为0~65535
-
TCP,UDP:65535*2
例如8080(TCP:80,UDP:80),单个协议下,端口号不能冲突
-
端口分类:
- 公有端口:0~1023
- HTTP:80
- HTTPS:443
- FTP:21
- Telent:23
-
程序注册端口:2014~49151
这些用来分配给用户或者程序(自己可支配)
- Tomcat:8080
- MySQL:3306
- Oracle:1521
-
动态端口或私有端口:49152~65535
-
和端口有关的Dos命令
netstat -ano #查看所有的端口
netstat -ano|findstr "5900" #查看指定的端口(如5900)
tasklist|finder"8696" #查看指定端口的进程
和端口有关的Windows快捷键
Ctrl+shift+Esc #打开任务管理器
端口和IP
- IP确定计算机,端口确定进程,例如QQ发消息发向7777端口,其它计算机的qq程序也在7777端口接受消息,就能实现交流