网络编程(C/S)
网络编程(C/S)
IP(网络互联协议)
IP地址
- InetAddress类
- 唯一定位一台网上计算机
- 127.0.0.1:本机localhost
- IP地址的分类
- Ipv4/ipv6
- IPV4 127.0.0.1 4个字节组成,42亿
- IPV6 128位。1111:2222:3333:4444:5555:6666:7777:abcd
- 公网(互联网)---私网(局域网)
- ABCD类地址
- 192.168.xx.xx,专门给组织内部使用
- 域名:记忆IP问题
- Ipv4/ipv6
package day03;
import java.net.InetAddress;
import java.net.UnknownHostException;
//测试IP
public class Demo10 {
public static void main(String[] args) {
try {
// 查询本机地址
InetAddress byName = InetAddress.getByName("127.0.0.1");
System.out.println(byName);
// 查询网站IP地址
InetAddress byName1 = InetAddress.getByName("www.baidu.com");
System.out.println(byName1);
// 常用方法
System.out.println(byName1.getCanonicalHostName()); //规范的名字
System.out.println(byName1.getHostAddress()); //ip
System.out.println(byName1.getHostName()); //域名,或者自己电脑名字
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
端口
端口表示计算机上的一个程序的进程(一栋楼=IP;一户=端口)
-
不同的进程有不同端口号,用来区分软件的
-
被规定:0-65535
-
TCP/UDP:65535*2;单个协议下,端口不能冲突
-
端口分类
-
公有端口0~1023
-
HTTP:80
-
HTTPS:443
-
FTP:21
-
TElENT:23
-
程序注册端口号:1024~49151,分配用户或者程序
- Tomcat:8080
- MySQL:3306
- Oracle:1521
-
动态、私有:49152~65535 尽量不要去占用
查看所有端口
netstart -ano
查看8080端口
netstart -ano|findstr "8080"
查看指定端口进程
tasklist|findstr "8080"
-
通信协议
协议:约定,为了相互交流
网络通信协议:速率、传输码率、代码结构、传输控制
TCP(打电话):用户传输协议
-
连接,稳定
-
三次握手,四次挥手
-
客服端、服务端
-
传输完成,释放连接,效率低
最少需要三次,保证稳定连接 A:你瞅啥? B:瞅你咋地? A:干一场! A:我要断开了 B:我知道不要断开了 B:你真的断开了吗? A:是的
UDP(发短信):用户数据报协议
- 不连接,不稳定
- 客户端、服务端:没有明确的界限
- 不管有没有准备好,都可以发给你