`

同步、异步、长连接、短连接

阅读更多

四个概念对应于网络连接。

长连接:客户端与服务端一直保持连接,有程序一直在监听消息

短连接:客户端与服务端连接一次后断开,直到下一次请求再次开始

同步:指上一个操作返回结果后才能发下一个操作的数据包

异步:指先把所有的操作数据包发完后 再等待它们的返回结果

相比较看 异步操作速度快 特别是在每个包处理方法独立的情况下

http://www.loveunix.net/viewthread.php?tid=4776

长连接与短连接
常听到有人说长连接与短连接的
现在把它的概念说出来吧 这种只是一个通俗的说法
这个连接是根据连接时间的长短定义的
所说的都是TCP 因为只有TCP才有连接
短连接就是一次操作完后断开连接
长连接就是一次操作完后不断开连接
连接一时保留着
短连接常见于大客户情况 如WEB服务器
如果每个连接都使用长连接 那么每个客户都保留一个socket
系统资源耗费很大
长连接则是多用于操作频繁情况
每个TCP连接都需要三步握手 这需要时间 如果每个操作都是先连接 再操作的话那么处理速度会降低很多 所以每个操作完后都不断开 下次处理时直接发送数据包就OK了 不用建立TCP连接
另外还有同步操作和异步操作
同步操作指上一个操作返回结果后才能发下一个操作的数据包
异步操作指先把所有的操作数据包发完后 再等待它们的返回结果
相比较看 异步操作速度快 特别是在每个包处理方法独立的情况下
上面只是一个参考 最后要使用哪种类型还是决定于你
如联通的短信协议就是 连接后可以发送多个短信包 但如果一段时间(如60s)没有操作 那么连接就会被关闭
所以不要固定自己的思维先

分享到:
评论

相关推荐

    TCP中长连接短连接

    本文将详细探讨TCP中的长连接和短连接,这两种连接方式在实际应用中的差异和选择。 长连接,也称为持久连接,指的是客户端(Client)与服务器端(Server)在完成连接建立后,保持连接状态不立即断开,以便于进行多...

    C#TCP/IP同步和异步通信

    C#提供了BeginAcceptTcpClient()和EndAcceptTcpClient()方法进行异步监听,BeginConnect()和EndConnect()用于异步连接。异步通信通常涉及回调函数或事件处理,如以下示例: ```csharp server.BeginAcceptTcpClient...

    C#.net同步异步SOCKET通讯和多线程总结

    C#.net同步异步SOCKET通讯和多线程总结 C#.net同步异步SOCKET通讯和多线程总结是指在C#.net环境下实现的同步异步套接字通信和多线程编程的总结。套接字(Socket)是tcp/ip网络协议接口,内部定义了许多的函数和例程...

    [线上问题] “服务端长连接与客户端短连接引起Nginx产生大量\"TIME_WAIT\"状态的线程”的问题分析解决

    本文讨论了在线上环境中,服务端长连接和客户端短连接配置不当导致Nginx服务器产生大量“TIME_WAIT”状态线程的问题,同时提供了问题的分析和解决方法。本文主要涉及的网络编程知识点包括长连接与短连接的定义和区别...

    QT C++ http get、post 同步异步请求

    `netserver.cpp`包含了类的方法实现,可能包括了get和post的同步异步请求。`netserver.h`则是类的声明,定义了类的接口,包括公共方法、属性等。 为了更好地理解这个项目,你需要查看这两个文件的具体代码,了解...

    同步异步阻塞非阻塞

    同步异步阻塞非阻塞 IO 模型 在 Linux 环境下的网络 IO 中,有五种基本的 IO 模型:阻塞 IO、非阻塞 IO、IO 多路复用、信号驱动 IO 和异步 IO。其中,信号驱动 IO 不常用,因此主要介绍其余四种 IO 模型。 1. 阻塞...

    C++ 串口支持同步异步类

    本文将深入探讨标题所提到的"C++ 串口支持同步异步类",以及如何利用C++实现串口的异步和同步通信。 串口通信,也称为UART(通用异步接收/发送器),是一种简单的串行通信协议,常用于低速数据传输。在C++中,我们...

    socket同步异步通信

    本文将深入探讨如何使用Socket进行同步和异步通信,以C#语言为例,结合`CSharpSocket`这个项目实例进行详细解析。 首先,我们了解什么是Socket。Socket是操作系统提供的网络通信接口,它允许应用程序通过网络发送和...

    TCP/IP长连接和短连接

    在TCP/IP通信程序设计中,长连接和短连接是两种主要的连接方式,它们各自有其特点和适用场景。理解这两种连接方式对于开发者来说至关重要,因为它们直接影响到系统的效率、资源管理和安全性。 **长连接**是指客户端...

    同步异步多线程SOCKET通讯

    本主题将深入探讨同步异步多线程Socket通信,这涉及到如何在多个线程中处理I/O操作,以及同步与异步模型的选择对性能和程序设计的影响。 **同步与异步** 同步和异步是两种处理I/O操作的不同方式。在同步模式下,...

    tcp与udp同步、异步通信

    同步TCP服务器会等待每个客户端连接并处理完请求后再接受下一个连接,而异步TCP服务器则可以在处理当前连接的同时接受新的连接,提高了服务效率。在本程序集中,同步TCP服务器和客户端可能使用CSocket类,通过阻塞式...

    易语言通信同步异步支持库

    《易语言通信同步异步支持库详解》 在编程领域,通信是不可或缺的一部分,尤其是在分布式系统、网络应用和多设备协作中。易语言作为一款深受中国程序员喜爱的编程工具,其自带的通信功能虽然基础,但有时并不能满足...

    mina 同步客户端,异步客户端

    MINA的同步客户端通常采用短连接,而异步客户端可以支持长连接,以维持高效的通信。 5. **mina_test**:这个文件可能是MINA项目的测试代码,包含了服务端和客户端的示例。开发者通常会编写测试代码来验证MINA应用...

    HttpAsyncClient 异步httpClient和同步httpClient连接池的工具类 包含jar

    HttpAsyncClient连接池的使用,项目中频繁发送http请求,同步http阻塞主线程,影响性能,使用 HttpAsyncClient可使性能提高,这里配合连接池使用,效果更好,同时还附带同步httpClient的连接池使用

    socket同步异步通信.rar

    本教程将深入探讨C#中的Socket同步与异步通信。 **一、Socket基础** Socket是网络通信的接口,它提供了进程间通过网络进行通信的能力。在C#中,`System.Net.Sockets.Socket`类是我们操作Socket的主要工具。Socket...

    易语言同步异步套接字模块

    易语言同步异步套接字模块源码,同步异步套接字模块,Call,取字节集指针,异步客户_初始,异步客户_销毁,异步客户_连接,异步客户_断开,异步客户_发送数据,异步客户_取回数据,异步客户_回调函数,同步客户_初始,同步客户_...

    vc串口同步异步实例

    本文将详细解析"vc串口同步异步实例",为初学者提供一个深入理解串口同步与异步通信的基础。 首先,我们要明白串口通信的基本概念。串口,即串行接口,是一种数据传输方式,一次传输一个或多位数据。在Windows系统...

    同步和异步的套接字模块源码

    在"同步异步套接字.e"这个源码文件中,可能包含了同步和异步套接字的实现细节,比如如何创建套接字,如何进行连接,如何发送和接收数据等。通常,它会使用特定的API来设置套接字为同步或异步模式,例如在POSIX系统中...

    完整版本网络编程 TCP Socket 同步、异步

    在深入学习这部分内容时,你需要理解TCP连接的生命周期、Socket API的使用、多线程或多进程模型在同步和异步编程中的应用,以及如何设计和实现高效的并发处理策略。同时,了解网络编程中的错误处理、异常处理和性能...

Global site tag (gtag.js) - Google Analytics