UDP编程模式针对无连接的网络应用,这类应用在传输层采用的是UDP协议,通信双方在传输数据前不需要建立连接。服务器是提供某种网络服务的应用进程,它通过熟知端口向客户机提供服务。服务器的熟知端口始终处于侦听状态,不断检查是否有客户机发送的连接请求。服务器采用重复服务器方式处理多个服务请求。
UDP编程模式也相对固定。客户机与服务器之间进行通信,需要依次调用Socket接口提供的不同函数。但是,服务器编程比客户机编程要复杂得多。图2-10给出了UDP编程模式的工作流程。客户机与服务器都首先调用socket()函数建立套接字,然后调用sendto()与recvfrom()函数分别发送或接收数据,最后调用closesocket()函数关闭套接字。服务器在发送与接收数据之前,调用bind()函数将某个端口与套接字绑定。
|
图2-10 UDP编程模式的工作流程 |
重复服务器(Interactive Server)采用请求队列来存储到达的服务请求,并根据先到先服务的原则顺序处理服务请求。重复服务器处理客户机请求的数量受队列长度的限制,但是可以有效控制对服务请求的处理时间,因此它比较适合于无连接的服务类型。图2-11给出了重复服务器的工作原理。客户机与服务器首先形成自己的半相关的三元组,客户机根据服务器的熟知端口建立全相关的五元组。
|
图2-11 重复服务器的工作原理 |
【责任编辑: 云霞 TEL:(010)68476606】
|