UDP 和 TCP 的特点
用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。
传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对一)。
二、网络编程(API都在:java.net包.)
1.socket套接字编程
源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务.
2.网络编程:
通过使用套接字来达到进程间通信目的的编程就是网络编程.
进程之间的通信:
1):在同一台电脑上,A进程和B进程相互通信.
2):在网络中(外网/内网),A电脑中的aa程序和B电脑中的bb程序相互通信(有网络连接).
为什么需要网络编程:
1):如果没有网络,只能玩单机游戏.(斗地主,三国杀,CS等)
2):有了网络,QQ游戏等.
3.网络编程三要素:
1):IP地址.
2):端口.
3):协议:规则,数据传递/交互规则.
OSI模型每一层的作用:
物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:建立、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:允许访问OSI环境的手段(应用协议数据单元APDU)