JAVA编码(70)—— Java 基于TCP协议的SOCKET编程的通信

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传输数据不安全,效率高

 

转载于:https://www.cnblogs.com/xushuyi/articles/10313159.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值