WEB开发网
开发学院操作系统Linux/Unix TCP/IP 应用程序的通信连接模式 阅读

TCP/IP 应用程序的通信连接模式

 2008-08-23 08:18:32 来源:WEB开发网   
核心提示: 长连接通信是指 Client 方与 Server 方先建立通讯连接,连接建立后不会断开,TCP/IP 应用程序的通信连接模式(10),然后再进行报文发送和接收,报文发送与接收完毕后,即同步和异步两种方式,这里的同步和异步与 I/O 层次的同异步概念不同,原来连接不会断开而继续存在,因此可以

长连接通信是指 Client 方与 Server 方先建立通讯连接,连接建立后不会断开,然后再进行报文发送和接收,报文发送与接收完毕后,原来连接不会断开而继续存在,因此可以连续进行交易报文的发送与接收。这种方式下由于通讯连接一直存在,其 TCP/IP 状态是 Established,可以用操作系统的命令 netstat 查看连接是否建立。由于在长连接情况下,Client 端和 Server 端一样可以固定使用一个端口,所以长连接下的 Client 也需要使用 bind() 来绑定 Client 的端口。在长连接方式下,需要循环读写通信数据。为了区分每一次交易的通信数据,每一次交易数据常常需要在数据头部指定该次交易的长度,接收 API 需要首先读出该长度,然后再按该长度读出指定长度的字节。长连接方式常用于一个 Client 端对一个 Server 端的通讯,一般常用于机构与机构之间的商业应用通信,以处理机构之间连续的大量的信息数据交换。或者说可用于两个系统之间持续的信息交流情况。通常为了加快两个系统之间的信息交流,通常还需要建立几条长连接的并行通信线路。图 13 显示了一般情况下长连接通信模式的 socket 事件流,可见其最大特点是 Client 和 Server 都有循环体,而且循环体只包含读写 APIs。

图 13 长连接模式通信

TCP/IP 应用程序的通信连接模式

Client/Server 通信发送与接收方式设计

在通信数据发送与接收之间也存在不同的方式,即同步和异步两种方式。这里的同步和异步与 I/O 层次的同异步概念不同。主要涉及 socket APIs recv() 和 send() 的不同组合方式。

同步发送与接收

上一页  5 6 7 8 9 10 

Tags:TCP IP 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接