博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA编码(70)—— Java 基于TCP协议的SOCKET编程的通信
阅读量:4454 次
发布时间:2019-06-07

本文共 984 字,大约阅读时间需要 3 分钟。

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

你可能感兴趣的文章
Access数据库SQL注入(Access SQL Injection)
查看>>
I Hate It
查看>>
usaco 2.1 sort3...想法题...
查看>>
【转】算法的流程图表示
查看>>
jquery .filter()过滤器
查看>>
视图中增加一个自动增加的字段
查看>>
基于axis2的webservice和android简单的本地数据交互(上)
查看>>
[.Net Core] 简单使用 Mvc 内置的 Ioc
查看>>
ef 多条数据插入处理方案(据说还有更好的)
查看>>
BigDecimal 学习比较
查看>>
反演+分块套分块——bzoj2154
查看>>
任务调度~Quartz.net实现简单的任务调试
查看>>
第三次作业——for 语句及分支结构else-if
查看>>
央行紧急通知:你在用的这种支付方式将有重大变化
查看>>
数据库SQL语句学习--view
查看>>
Balsamiq Mockups
查看>>
分区表损坏后的重建
查看>>
HTML一些 标签
查看>>
Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下
查看>>
Java基础知识总结
查看>>