目录
概念:
计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来的,实现资源共享和数据传输的系统。网络编程就是编写程序使互联网的两个(或多个)设备(如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持。通过其提供的接口我们可以很方便地进行网络编程。
网络模型
OSI参考模型
TCP/IP参考模型
网络通讯要素
IP地址
- 网络中设备的标识
- 不易记忆,可用主机名
- 本地回环地址:127.0.0.1 主机名:localhost
端口号
- 用于标识进程的逻辑地址,不同进程的标识
- 有效端口:0~65535(2的16次方-1是65535,2的16次方是65536)其中0~1024系统使用或保留端口
传输协议
- 通讯的规则
- 常见协议:TCP,UDP
UDP
- 将数据及源和目的封装成数据包中,不需要建立连接
- 每个数据报的大小在限制在64k内
- 因无连接,是不可靠协议
- 不需要建立连接,速度快
- 举例:用户之间的聊天和视频
TCP
- 建立连接,形成传输数据的通道
- 在连接中进行大数据量传输
- 通过三次握手完成连接,是可靠协议
- 必须建立连接,效率会稍低
- 举例:下载文件和视频
Socket
- Socket就是为网络服务提供的一种机制
- 通信的两端都有Socket
- 网络通信其实就是Socket间的通信
- 数据在两个Socket间通过IO传输