`

长连接和短连接,单工、半双工和全双工

阅读更多
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持
短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接
比如http的,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接。
其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。

长连接与短连接的操作过程
通常的短连接操作步骤是:
连接→数据传输→关闭连接;

而长连接通常就是:

连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接;
这就要求长连接在没有数据通信时,定时发送数据包(心跳),以维持连接状态,短连接在没有数据传输时直接关闭就行了
什么时候用长连接,短连接?
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况,。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接, 如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。

而像WEB网站的http服务一般都用短链接,因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。所以并发量大,但每个用户无需频繁操作情况下需用短连好。

总之,长连接和短连接的选择要视情况而定。
发送接收方式

1、异步
报文发送和接收是分开的,相互独立的,互不影响。这种方式又分两种情况:
(1)异步双工:接收和发送在同一个程序中,由两个不同的子进程分别负责发送和接收
(2)异步单工:接收和发送是用两个不同的程序来完成。
2、同步
报文发送和接收是同步进行,既报文发送后等待接收返回报文。 同步方式一般需要考虑超时问题,即报文发出去后不能无限等待,需要设定超时时间,超过该时间发送方不再等待读返回报文,直接通知超时返回。

在长连接中一般是没有条件能够判断读写什么时候结束,所以必须要加长度报文头。读函数先是读取报文头的长度,再根据这个长度去读相应长度的报文。

单工、半双工和全双工

根据通信双方的分工和信号传输方向可将通信分为三种方式:单工、半双工与全双工。
在计算机网络中主要采用双工方式,其中:局域网采用半双工方式,城域网和广域网采用全双年方式。 
1 单工(Simplex)方式:通信双方设备中发送器与接收器分工明确,只能在由发送器向接收器的单一固定方向上传送数据。采用单工通信的典型发送设备如早期计算机的读卡器,典型的接收设备如打印机。
2.半双工(Half Duplex)方式:通信双方设备既是发送器,也是接收器,两台设备可以相互传送数据,但某一时刻则只能向一个方向传送数据。例如,步话机是半双工设备,因为在一个时刻只能有一方说话。
3. 全双工(Full Duplex)方式:通信双方设备既是发送器,也是接收器,两台设备可以同时在两个方向上传送数据。例如,电话是全双工设备,因为双方可同时说话。


分享到:
评论

相关推荐

    Java-Notes-单工半双工和全双工

    :books: Java/ :books: computer-science/Java-development/backend/interview 单工半双工和全双工 单工半双工和全双工 单工半双工和全双工 单工半双工和全双工 单工半双工和全双工

    单工半双工和全双工区别与联系.zip

    单工半双工和全双工区别与联系

    串行通讯简单认识(单工、半双工和全双工的定义).pdf

    本文将深入探讨串行通讯的三个主要模式:单工、半双工和全双工,并分析它们各自的特点和应用场景。 单工通讯是指信息只能沿单一方向流动,即从一个设备到另一个设备,而不能反向传输。这种模式适用于广播系统或单向...

    串行通讯简单认识(单工、半双工和全双工的定义).docx

    本文将深入探讨串行通讯的基本概念、传输模式以及单工、半双工和全双工的区别。 串行通讯,顾名思义,是指数据逐位按顺序进行传输的方式。相较于并行通讯,它只需要较少的数据线,降低了硬件成本,但传输速率较慢。...

    个人学习知识点汇总\单工、半双工、全双工区别.docx

    通信模式单工、半双工、全双工的定义和区别,形象理解。

    区别单工,半双工,全双工

    总之,单工、半双工和全双工通信模式各有其适用的场景和优缺点,选择哪种模式取决于对数据传输速率、方向性和成本效益的需求。随着技术的发展,全双工模式越来越成为主流,尤其是在高带宽需求的网络环境中。

    一、单工通信(simplex) 单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向 为保证正确传

    单工半双工和全双工一、单工通信(simplex) 单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。 为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过...

    uart测试程序

    uart的测试程序,适合于测试单工,半双工和全双工的uart。

    rs232串口通信文档

    rs232串口通信 1.RS-232-C 详解 ...14.单工、半双工和全双工的定义 15.从RS232 端口获得电源 16.串行同步通信的应用 17.串行通信波特率的一种自动检测方法 18.RS-232、RS-422 与RS-485 标准及应用 19.串口泵

    串行通讯的概念 串行通讯 串行通讯的特点

    5. **工作模式**:根据信息的传送方向,串行通讯可以进一步细分为单工、半双工和全双工三种模式。 #### 三、串行通讯的工作模式 1. **单工**:数据只能在一个方向上传输,即只能由一方发送另一方接收。 2. **半双工...

    第9章-串口通信 (2).docx

    《第9章-串口通信》 ...通过异步和同步通信的选择,以及单工、半双工和全双工传输方式的运用,可以灵活应对各种通信需求。在实际应用中,还需要结合硬件电路和软件编程,确保数据的正确传输和处理。

    RS233技术文摘总结

    1. RS-232-C 详解 ...14. 单工、半双工和全双工的定义 15. 从 RS232 端口获得电源 16. 串行同步通信的应用 17. 串行通信波特率的一种自动检测方法 18. RS-232、RS-422 与RS-485 标准及应用 19. 串口泵

    Rs232cai-7884串口通信编程合集 pdf.rar

    Rs232cai-7884串口通信编程合集 ...14. 单工、半双工和全双工的定义 15. 从RS232 端口获得电源 16. 串行同步通信的应用 17. 串行通信波特率的一种自动检测方法 18. RS-232、RS-422 与RS-485 标准及应用 19. 串口泵

    总线数据传输中的同步技术PPT学习教案.pptx

    本篇将探讨总线数据传输中涉及的同步技术,包括数据传输方式、同步传输与异步传输的区别,以及单工、半双工和全双工通信模式。 首先,数据传输方式主要有并行传输和串行传输两种。并行传输是指多个数据位同时在设备...

    网络基础+双工模式介绍

    传统的通信方式有单工、半双工和全双工三种模式。单工模式只能单向通信,如广播;半双工模式允许数据双向传输,但不能同时进行,如对讲机;而全双工模式则支持双向同时通信,如现代的以太网和电话线。 全双工模式在...

    通信协议简介及区别(串行、并行、双工、RS232等).pdf

    串行通信又分为单工、半双工和全双工三种模式。单工通信只能单向传输,半双工可以双向但非同时,全双工则允许同时双向传输。 异步串行通信是一种常用的方式,它以字符为单位传输,字符间间隔可变,字符内部位同步。...

    变电站综合自动化技术-通信总线.pptx

    串行通信数据逐位发送,适合长距离传输,有单工、半双工和全双工三种工作模式。并行通信则是多位数据同时传输,速度快但需要更多线路,适用于短距离、高数据速率的环境。 总的来说,变电站综合自动化技术中的通信...

    sci通信很好的资料

    根据数据传输的方向,串行通信可以分为单工、半双工和全双工三种模式。单工只允许单向传输,半双工允许双向但非同时,而全双工则允许双向同时传输。 串行通信的数据通路形式包括单工、半双工和全双工。单工通信仅...

    第章数据通信技术基础知识2022优秀文档.ppt

    数据通信方式可以分为单工、半双工和全双工三种。单工传输方式指的是两个数据站之间只能沿一个指定的方向进行数据传输。半双工传输方式指的是两个数据站之间分时地沿一个指定的方向进行数据传输。全双工传输方式指的...

Global site tag (gtag.js) - Google Analytics