网络编程
3 端口
端口表示计算机上的一个程序的进程
-
不同的进程有不同的端口号!用来区分不同的软件进程
-
被规定总共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
netstat -ano #查看所有的端口状况 netstat -ano|findstr "5900" #查看指定的端口 tasklist|findstr "13000" #查看指定端口的进程,这里此电脑的13000端口IP代表QQ应用进程
运行结果:
-
练习:
package com.duo.lesson01;import java.net.InetSocketAddress;public class InetSocketAddressTest {public static void main(String[] args) {InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", 8080);InetSocketAddress inetSocketAddress2 = new InetSocketAddress("localhost", 8080);System.out.println(inetSocketAddress);System.out.println(inetSocketAddress2);System.out.println(inetSocketAddress.getAddress());System.out.println(inetSocketAddress.getHostName()); //hosts 地址System.out.println(inetSocketAddress.getPort()); //端口}
}
运行结果:
4 通信协议
网络通信协议:速率,传输码率,代码结构,传输控制…
TCP/IP协议簇:实际是一组协议
-
IP:网络互连协议
-
TCP:用户传输协议
-
两个重要的协议:
- TCP:用户传输协议
- UDP:用户数据报协议
TCP与UDP对比:
-
TCP类比打电话:
- 连接,稳定
- 三次握手,四次挥手
所谓三次握手,最少需要三次,以保证稳定连接;三次握手四次挥手可以抽象理解记忆
最少需要三次,以保证稳定连接! A:你瞅啥? B:瞅你咋地? A:不服来干一场!A:我要离开了! B:你要离开吗? B:你真的决定离开了吗? A:我真的要离开了!
- 客户端、服务端
- 传输完成会释放连接,效率低
-
UDP类比发短信
- 不连接,不稳定
- 客户端、服务端没有明确的界限
- 不管有没有准备好,都可以发出