- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16 章 Windows 套接字编程
-- 《Visual C++开发技术大全》
Windows 套接字是开放的网络编程接口,完成网络环境中的数据传输功能。本章在介绍Windows
Socket 概念的基础上,介绍了套接字库函数和WinSocket API,并讲述了MFC 对Windows 套接字的
封装。最后,以一个实例演示了Windows 套接字的编程方法。
16.1 概述
本节介绍Window 套接字中用到的重要概念,包括套接字及其分类和Window Sockets 采用的编程
模型--客户端/服务器模型。另外,还介绍了网络编程中的一个重要点--网络字节顺序,并且介绍了如何处
理网络字节顺序与系统字节顺序之间的转换。
16.1.1 Windows Sockets 规范
Windows Sockets 规范是Windows 平台下定义的可以兼容二进制数据传输的网络编程接口,是基
于伯克利加利福尼亚大学的BSD UNIX Sockets 的实现,当前的版本是2.0。此规范包括BSD 格式的
Sockets 函数和Windows 扩展函数。使用Windows Sockets 的应用程序可以与任何兼容Windows
Sockets API 的网络程序进行数据通信。
目前,市面上很多网络软件支持Windows Sockets,包括传输控制协议/Internet 协议(TCP/IP )、
Xerox 网络系统(XNS)、DECNet 协议、Novell 公司的 Internet 包交换和顺序包交换协议(IPX/SPX)
等。虽然现在的Windows Sockets 规范定义了提取TCP/IP 的Sockets,但是,任何网络协议可以通过
提供自己实现的Windows Sockets 的DLL 版本支持Windows Sockets。终端仿真器和电子邮件系统都
是使用Windows Sockets 典型实例。因为Windows Sockets 是抽象于底层网络的,因此,开发人员不
需要了解有关网络的知识,就可以编写运行在任何支持Sockets 的网络上的应用程序。
因为Sockets 编程模型使用Internet 协议族的通信域,所以它是编写支持Internet 通信应用程序
首选通信方式,这也是Socket 长足发展的原因。
16.1.2 套接字及其分类
在Windows Sockets 规范中,使用套接字(socket)代表通信端点,在网络上通过Windows Sockets
应用程序发送或接收数据包的对象。Socket 具有类型和名称,并具有与其类型相关的运行过程。当前,
socket 通常使用 IP (Internet Protocol)与其他socket 进行双向数据交换,所有数据流都可以同时在
两个方向上进行通信。Socket 套接字分为两种类型,一种是数据报 socket,一种是数据流socket。
1.数据报套接字
数据报套接字,即无连接套接字,是不需要连接即可进行通信的套接字,可以向指定的socket 发送
数据报消息,也可以从指定的socket 接收消 息。提供双向的面向记录的数据流,但是不能确保数据传输
的顺序,也不能确保传输的可靠性,有时会出现传输失败。通过数据报套接字传输的数据,到达目的端 时,
有可能打乱了发送时的字节顺序,并有可能复制传输数据,但是会控制数据的记录边界,记录小于接收端
的内部大小限制。开发人员需要管理数据的顺序和可靠 性,在本地局域网中可靠性比在广域网或Internet
上高。数据报套接字的一个典型应用是,保持系统时钟与网络同步,而且使用数据报套接字可以同时向大 量
的网络地址广播消息。对于面向记录的数据使用数据报套接字比较合适。
2.数据流套接字
数据流套接字是基于显式连接的套接字。提供没有记录边界的双向字节数据流,具有可靠的发送顺序,
没有复制数据。数据流的接收也是可靠的,适合处理大 量数据的传输。客户端Socket 请求到服务器
Sockets,服务器Sockets 可以接收连接请求,也可以拒绝连接请求。如电话呼叫就是一个典型的数 据
流例子,首先呼叫方发起到被叫方的连接,被叫方可以接受连接,即接听,也可以拒绝连接,即挂断。如
果接听,则链路建立了,可以进行双向数据交换,即双方 可以进行通话,并且听端会按照顺序听到说话方
所说的内容,不会有重复,也不会丢失。还有一个典型的数据流socket 的例子是F
您可能关注的文档
最近下载
- 2025年滁州海关招聘协管员10人笔试备考题库及答案解析.docx VIP
- 2025年滁州海关招聘协管员10人笔试参考题库附答案解析.docx VIP
- 心血管介入考试器械植入模拟试卷试题卷.docx VIP
- 2025年滁州海关招聘协管员10人笔试模拟试题及答案解析.docx VIP
- 高中英语新课程标准3500词汇.pdf VIP
- 精品解析:2018年上海市高中学生化学竞赛(“华理一化工杯”)初赛试题(原卷版).doc VIP
- 红树林湿地生态系统及其碳汇功能.pptx VIP
- 固定效应模型通俗理解.docx VIP
- 小学语文一年级《三字经》教育教学课件.pptx VIP
- 最新人教版一年级美术上册《美丽的植物和动物》优质教案教学设计(表格).pdf VIP
原创力文档


文档评论(0)