1、通信协议分成(基于TCP/IP参考模型)
IOS OSI参考模型 | TCP/IP参考模型 | 描述 |
应用层(Application Layer) | 应用层 | Telnet\FTP\HTTP\SNMP等 |
表示层(Presentation Layer) | ASCII\ASN.1\JPEG\MPEG等 | |
会话层(Session Layer) | NetBIOS\ZIP等 | |
传输层(Transport Layer) | 传输层 | 传输层协议的代表包含:TCP、UDP、SPX等 |
网络层(Network Layer) | 网络层 | 网络层协议的代表包含:IP、IPX、RIP、OSPF等 |
数据链路层(Data Link Layer) | 物理+数据链路层 | |
物理层(Physical Layer) |
2、 Socket编程顺序
1. 创建服务器ServerSocket,在创建时,定义ServerSocket的监听端口(在这个端口接收客户端发来的消息)
2. ServerSocket调用accept()方法,使之处于阻塞状态
3. 创建客户机Socket,并设置服务器的ip及端口
4. 客户机发出连接请求,建立连接
5. 分别取得服务器和客户端Socket的InputStream和OutputStream
6. 利用客户机Socket和服务器ServerSocket进行数据传输
3、 Tcp建立连接分为三步(三次握手)
1. 客户端发送一个包含SYN即同步(Synchronize)标志的TCP报文,SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号;
2. 服务器在接受到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被服务器接受,同时TCP序号被加一,ACK即确认(Acknowledgement)
3. 客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。然后就可以进行数据传输了
4、 TCP协议与UDP协议特点
1. TCP传输数据安全,稳定,效率相对较低。是面向连接的,就是当计算机双方通信时必须先建立连接,然后数据传送
2. UDP传输数据不安全,效率高