网络通信的要素
通信双方地址
- IP
- 端口号
规则 : 通信协议
- TCP、UDP、HTTP、HTTPS、DNS等
网络编程要素
- 网络编程中有两个主要问题
- 如何准确定位到网络上的一台或者多台主机
- 找到主机之后如何通信
- 网络编程的要素
- IP和端口号
- 网络通信协议 TCP、UDP
端口
端口表示计算机上的一个程序的进程
- 不同的进程有不同的端口号!用来区分软件!
- 一般被规定从0~65535
- TCP和UDP协议各有65536个端口号,也就是说,一般一台主机拥有65535 * 2个端口号,单个协议下,端口号不能重复
- 端口分类
- 公有端口0~1023
- HTTP : 80
- HTTPS : 443
- FTP : 21
- Telnet : 23
- 程序注册端口 : 1024 ~ 49151,分配用户或者程序
- Tomcat : 8080
- Mysql : 3306
- Oracle : 1521
- 动态、私有端口 : 49152 ~ 66535
- netstat -ano : 查看所有的端口
- netstat -ano|findstr "8080" : 查看指定端口
- tasklist|findstr "8080" : 查看指定端口的进程
通信协议
- 就是一种约定,是一种网络数据交互的约定俗成
- TCP/IP协议簇
- TCP : 用户传输协议
- UDP : 用户数据报协议
- TCP : 可以类比为打电话
- 连接,稳定
- 三次握手,四次挥手
- 客户端、服务端
- 传输完成,释放连接,效率低
- UDP : 可以类比为发短信
- 不连接,不稳定
- 没有明确的客户端、服务端概念
- 不管是否能准备好,都可以发送