`
pzk417
  • 浏览: 28263 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

TCP连接的几种方式介绍

阅读更多
    现在比较常用的TCP应用连接:

  1:  同步短连接 Server/Client
     最简单 同一端口:客户端发送 --》服务端接收---》客户端 ---close()

 2: 同步长连接 Server/Client
      连接不断掉 一般用一个while(true)死循环维持
      轮训的读和写 注意IO阻塞

 3:  异步短连接 Server/Client
       客户端发送 ---》服务器1 服务器2--》客户端 ---close()

 4:  异步长连接双工 Server/Client
     
       认为最为复杂 而现在应用最多
       在JAVA中有select用I/O 多路技术技术做到NIO
解释: 
  异步双工是指应用通信的接收和发送在同一个程序中,而有两个不同的子进程分别负责发送和接收,异步双工模式是比较复杂的一种通信方式,有时候经常会出现在不同机构之间的两套系统之间的通信。比如银行与银行之间的信息交流。它也可以适用在现代 P2P 程序中。Server 和 Client 端分别有两个子进程,形成两对子进程之间的连接,两个连接都是单向的,一个连接是用于发送,另一个连接用于接收,这样方式的连接就被称为异步双工方式连接。

 5:  异步长连接单工 Server/Client
解释:
应用通信的接收和发送是用两个不同的程序来完成,这种异步是利用两对不同程序依靠应用逻辑来实现的。长连接方式下的异步单工就是在通信的 A 和 B 端,分别有两套 Server 和 Client 程序,B 端的 Client 连接 A 端的 Server,A 端的 Server 只负责接收 B 端 Client 发送的报文。A 端的 Client 连接 B 端的 Server,A 端 Client 只负责向 B 端 Server 发送报文。
分享到:
评论
1 楼 songsong 2010-08-20  
哦,原来我做的一套框架是 异步长连接单工 Server/Client  ,两边都可以处理请求,不是NIO哦,用的是传统socket,程序比较复杂,不适合大并发量,想做第二版把mina用上支持会很好

相关推荐

    查看系统的TCP连接情况

    "查看系统的TCP连接情况"这个主题涉及到的知识点主要包括以下几个方面: 1. TCP连接的原理:TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP连接建立之前,需要经过三次握手来确保双方都能正常...

    C#同步Tcp编程几种方式的聊天实现

    在C#编程中,TCP(Transmission Control Protocol)是一种常用的数据传输协议,用于建立可靠的、面向连接的通信。本文将详细探讨使用C#实现同步TCP编程的四种方式,并以实际的项目示例进行解析。 首先,我们来看...

    几种TCP连接中出现RST的情况

    在TCP协议中RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。...下面我列出几种会出现RST的情况。

    多线程和TCP连接测试程序

    在实现多线程TCP连接时,需要注意以下几个关键点: 1. **线程安全**:当多个线程共享资源(如TCP连接)时,必须确保对这些资源的访问是互斥的,通常通过锁机制实现。 2. **线程池**:为了提高效率,可以使用线程池...

    获取TCP的连接信息

    首先,要获取TCP连接信息,我们需要了解以下几个关键的Windows API函数: 1. **GetTcpTable2**:这个函数用于获取系统中的TCP连接表,包含所有活动的TCP连接的详细信息。返回的数据结构是MIB_TCPTABLE2,其中包含了...

    易语言修改系统TCP连接数源码

    本资源提供的是一段易语言编写的源码,其功能是修改系统的TCP连接数。理解这个知识点,我们需要先了解几个基本概念: 1. **TCP(Transmission Control Protocol)**:传输控制协议,是一种面向连接的、可靠的、基于...

    易语言修改系统TCP连接数

    系统TCP连接数指的是操作系统允许同时建立的TCP连接的最大数量,这个限制通常由操作系统设置,用于防止资源过度消耗。 修改系统TCP连接数通常是出于特定的需求,比如服务器优化、多线程网络应用或性能测试。在...

    tcp连接查看工具

    TCP连接查看工具是一种实用程序,专门用于监测和分析计算机上的TCP网络连接状态。这些工具对于系统管理员、网络工程师以及IT专业人员来说非常有用,因为它们能够提供关于哪些进程正在与远程主机进行通信、连接的端口...

    易语言修改系统TCP连接数源码.zip

    1. **TCP连接**:TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,它确保了数据包的正确排序和无丢失传输。在建立TCP连接时,需要经过三次握手的过程,而在关闭连接时则需要四次挥手。 2...

    modbus TCP连接 java工具包

    Modbus TCP连接与Java工具包是工业自动化领域中常见的通信技术与编程语言的结合。Modbus是一种广泛应用的工业通信协议,允许设备之间进行简单、有效的数据交换,而TCP(Transmission Control Protocol)是网络协议栈...

    c# TCP连接详细源码

    在 C# 编程语言中,TCP(Transmission Control Protocol)是一种广泛使用的网络协议,用于在不同计算机之间建立可靠的、面向连接的数据传输。本文将通过分析一个具体的示例代码,来详细探讨如何在 C# 中实现基于 ...

    android测试例子 TCP长连接

    在Android开发中,TCP长连接是一种常见的网络通信方式,它用于维持客户端与服务器之间的持久连接,以便于数据的高效传输。TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,适用于需要频繁交互...

    STM32F103控制 W5500 作为 TCP 客户端连接到 TCP 服务器—W5500STM32F103

    2. 创建TCP连接:通过发送特定的SPI命令,向W5500发送SYN报文,发起TCP连接请求,目标是TCP服务器的指定端口。 3. 数据传输:当TCP连接建立后,STM32F103可以通过SPI发送数据到W5500,由W5500封装成TCP报文并发送...

    Linux下TCP连接迁移技术-TCPCP详解.pdf

    TCP 连接迁移是一种基于 TCP 连接的负载均衡方法,通过将一个 TCP 连接的一个端点迁移到另一个节点来实现负载均衡。 TCPCP(TCP Connection Passing)是一种基于 TCP 连接迁移的技术,它可以将一个 TCP 连接的一个...

    易语言源码易语言TCP连接监控源码.rar

    在易语言中,TCP连接的实现主要涉及到以下几个知识点: 1. **网络通信模块**:易语言提供了“网络”类库,包括了TCP和UDP等网络通信协议的接口。开发者需要导入这个模块才能进行TCP通信。 2. **创建服务器端**:...

    Python-tcpkiller用于在Linux或macOS上关闭一个TCP连接

    它利用了低级别的socket接口和操作系统的网络控制功能,允许用户以编程方式终止指定进程的TCP连接,而无需直接操作这些进程。 在Python开发中,网络编程是一个重要的领域,涉及网络数据传输、服务器创建、客户端...

    TCP连接监控.rar

    TCP连接监控的主要目标是跟踪和分析以下几个方面: 1. 连接状态:监控TCP连接的状态,包括LISTEN(监听)、SYN_SENT(已发送SYN)、SYN_RECV(已接收SYN)、ESTABLISHED(已建立)、FIN_WAIT_1、FIN_WAIT_2、CLOSE_...

    tcp连接测试工具socket

    在TCP连接测试中,我们关注以下几个关键点: - **连接建立**:客户端通过发送SYN(同步序列编号)包向服务器发起连接请求,服务器收到后回复SYN+ACK,客户端再回复ACK确认,至此三次握手完成,连接建立。 - **数据...

    易语言统计TCP连接信息

    统计TCP连接信息主要包括以下几方面的内容: 1. **连接状态**:TCP连接有多种状态,如SYN_SENT(同步已发送)、ESTABLISHED(已建立)、CLOSE_WAIT(等待关闭)、TIME_WAIT(时间等待)等。通过统计这些状态,可以...

    tcp连接跟踪安装包自取

    TCP连接的生命周期通常包括以下几个阶段:SYN(同步)、SYN+ACK(同步确认)、ACK(确认)以及数据传输、关闭连接等。TCP连接跟踪就是记录这些状态,确保每个连接都能正确建立、使用和终止。 在Linux系统中,TCP...

Global site tag (gtag.js) - Google Analytics