计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

Winsock API 选项配置(1)

2014-04-21 01:45
导读:计算机应用论文论文,Winsock API 选项配置(1)应该怎么写,有什么格式要求,科教论文网提供的这篇文章是一个很好的范例: 摘 要 介绍了Winsock 下的网络编程API函数的网络参数以及一些基
摘 要 介绍了Winsock 下的网络编程API函数的网络参数以及一些基本的环境配置。同时也可以了解到一些基本的网络特性,给出了网络配置的基本形式,从而更好地对网络通讯进行有效地配置管理。在面对大量烦琐的网络函数与参数的同时,总结出了一些配置它们的方法。 关键词 套接字;Winsock;地址族;协议族;1 网络编程接口 为了方便网络编程,20世纪90年代初,由Microsoft联合了其他几家公司共同制定了一套Windows下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。现在的Winsock已经基本上实现了与协议无关,可以使用Winsock来调用多种协议的功能,但较常使用的是TCP/IP协议。Socket实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有Socket接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个Socket接口来实现。 通讯的基石是套接字,一个套接字是通讯的一端。在这一端上可以找到与其对应的一个地址名。一个正在被使用的套接字都有它的类型和与其相关的进程。套接字存在于通讯域中。通讯域可以是抽象的概念,它是套接字的一套完备的系列,最后可以通过程序来实现。套接字通常和同一个域中的套接字交换数据。Windows Sockets规范支持单一的通讯域,即Internet域。 套接字可以根据通讯性质分类,程序员可以根据具体的情况进行设置。一般我们仅在同一类的套接字间通讯。可以通过配置底层文件,让不同类型的套接字间也照样可以通讯。目前socket提供可以使用两种套接字类型,即流套接字(TCP)和数据报套接字(UDP)。流套接字提供了双向的,有序的,无重复并且无记录边界的数据流服务。他在数据传输当中保证数据的完整性和可靠性等。数据报即UDP套接字支持双向的数据流,但并不保证是可靠,有序,无重复。2 用于连接套接字API Windows Sockets 规范支持的套接字属性选项都可以在对setsockopt()函数和getsockopt()函数的配置中实现。任何关于Sockets 实现必须能够识别所有这些属性选项,并且对每一个属性选项都返回合理的数值。int setsockopt( SOCKET s, int level, int optname, const char* optval, int optlen); 一般来讲,我们可以手动地对socket进行配置,但是在大多数情况下,socket的默认配置可以解决绝大多数的网络问题,只有我们需要一些特殊的用途时才会用到它。3 套接字函数 让套接字工作,其过程如下: 服务器首先启动,通过调用socket()建立一个套接字,然后调用bind()将该套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度(这个长度通常有最大的限制),之后就调用accept()来接收连接.客户在建立套接字后就可调用connect()和服务器建立连接.一旦建立连接,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。数据收发完毕之后,调用close()关闭套接字。3.1 socket() int socket(int domain, int type, int protocol); 参数domain指定套接字使用的协议族,AF_INET表示使用TCP/IP协议族,AF_UNIX表示使用Unix协议族,AF_ISO表示套接字使用ISO协议族,一般只要使用TCP/IP就可以了。type指定套接字类型,一般的面向连接通信类型(如TCP)设置为SOCK_STREAM,当套接字为数据报类型时,type应设置为SOCK_DGRAM,如果是可以直接访问IP协议的原始套接字则type应设置为SOCK_RAW。参数protocol一般设置为"0",表示使用默认协议。当socket()函数成功执行时,返回一个对这个套接字的描述符,如果出错则返回"-1",并设置errno为相应的错误类型。 在通常情况下,首先要将描述服务器信息的套接字地址结构清零,这个地址结构将常用的地址信息储存在一个结构里面以供调用,我们可以直接在地址结构中填入相应的内容,准备接受客户机送来的连接建立请求。Winsock定义了一种通用的套接字地址结构:struct sockaddr{unsigned short sa_family; /* address type */char sa_data[14]; /* protocol address *
    上一篇:加密访问控制(1) 下一篇:没有了