局域网多媒体传输系统的设计实现(4)
时间:2022-04-23 10:37 来源:毕业论文 作者:毕业论文 点击:次
(1)流式套接字(SOCK_STREAM):在这种方式下,两个要进行通信的应用程序要先建立起虚拟连接,它使用了TCP协议,为应用程序提供了一个面向连接、可靠、有序的数据传输服务。它所传输的数据无错且无重复。所发送的数据是按顺序接收的。对数据还有校验和重新发送。 (2)数据报套接字(SOCK_DGRAM):它依赖于UDP协议。提供无连接的数据传输服务。用独立的数据包形式进行数据的发送和传输,具有很高的数据通信速度,但是没有数据正确性的检验也不能保证数据包的发送顺序。数据包可能会发生丢失和重复的情况。 (3)原始套接字(SOCK_RAW):是直接针对协议底层直接访问的套接字。 2。2Windows Socket 网络编程技术 为了方便网络编程,Microsoft联合了另外几家公司共同制定了一套Windows下的网络编程接口,即Windows Sockets(WINSOCK)API 规范。它不是一种网络协议,而是一套开放的,支持多种协议的Windows下的网络编程接口[10]。它在计算机它在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有Socket 接口的计算机通信。应用程序在网络上利用这个API来实现相互之间的信息传输和接收。一个Socket和一个进程对应相关联,利用下层的网络通信协议功能和操作系统调用来实现通信工作。它们之间的联系如图2。1所示。Sockets 的实质是通信端点的一种抽象。它提供一种发送和接收数据的机制。它具有三个属性:①:网络地址。②:端口号。③Socket类型。来:自[优.尔]论,文-网www.youerw.com +QQ752018766- 图2。1 应用程序与Windows Sockets 的关系图 2。3Winsock编程模型 2。3。1简单的客户端/服务器模型 目前很多的数据处理应用程序和系统都采用开放系统结构的客户机/服务器(C/S)模式,即客户端向服务器提出服务请求,服务器对客户端的请求做相应的处理并执行相应请求的任务,然后将执行结果反馈给客户端[11]。 其中,服务器程序会在固定的地址进行监听服务请求。在没有服务请求的时候服务器会保持休眠状态。当客户端向服务器发出请求的时候,服务器就会被激活,并对客户请求做出回应和服务。 基于Socket连接的客户端与服务器之间的通信模型如图2。2所示。整体的通信过程为: (1):服务器启动监听进程,对IP端口进行监听。等待客户端的连接请求; (2):客户端向服务器端口进行连接请求; (3):服务器接收客户端的连接,并与客户端建立Socket连接; (4):建立连接,服务器和客户端进行信息数据通信。 (5):通信完毕,客户端与服务器端断开连接。 (责任编辑:qin) |