全球旧事资料 分类
报后,不需要给出任何确认,所以不能保证其交付时可靠。它的特点是:因无连接,故提供的是不可靠的信道,但也是因无连接而具有很好的传输效率。
212TCP通信
TCP是传输控制协议的简称,它是提供一条全双工的、可靠的信道。TCP提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播和多播服务。
由于TCP要提供可靠的、面向连接的运输服务,所以不可避免地增加了许多系统开销,比如确认、流量控制、计时器以及连接管理等都需要占用许多系统的时空资源。两个计算机之间如果使用TCP通信,其连接过程需要三次握手实现,如实验图11所示。
图11用三次握手建立TCP连接
对于两个计算机之间连接的释放过程也需要类似的3次握手的互相确认的过程,如实验图12所示。
f龙利民《基于Li
ux网络聊天室的设计》
第5页共21页
图12TCP连接的释放过程
22客户服务器模型
在客户服务器模型中,多个相互通信的计算机都作为客户端,与网络服务器进行连接,并通过服务器进行信息的传递。所以多个客户端之间的通信就变为了客户端与服务端的通信。所以,采用客户服务器模型进行网络聊天需要分别编写服务器端和客户端的程序,服务器和客户端之间相互通信的同步关系和各自的程序流程如实验图13所示。
Tcp服务器
Socket
Tcp客户端
Socket
建立连接
Bi
dListe

Co
ectWrite
请求数据
Accept
阻塞直到有客户端连接
Read
ReadClose
回应数据
处理请求
Write
结束连接
Read
Close
图13Socket通信流程图
f龙利民《基于Li
ux网络聊天室的设计》
第6页共21页
23网络套接字(socket)的概念
Socket接口上TCPIP网络应用程序接口(API),它提供了许多函数和例程,程序员可以使用它们来开发TCPIP网络应用程序。
使用Socket接口进行网络通信的过程如图13所示,简要步骤如下:1建立一个Socket2按要求配置socket,将socket连接到远程主机或给socket指定以各本地协议端口。3按要求通过socket发送和接受数据。4关闭此socket。这是通过Socket实现点对点通信需要掌握的4个编程要点。
24多线程的概念
上述点对点通信的实现知识完成了主机进程与服务器进程之间的连接,建立连接的进程之间是一对一的联系,即主机的一个进程与服务器的一个进程之间建立的连接。而每个进程进行通信的环节都包括了发送信息和接口信息两个任务,这两个任务通过一个端口地址发送和接收。
对于多个并发的任务需要创建多个线程或线程去实现。使用一个进程去完成r
好听全球资料 返回顶部