- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用WINSOCK实现聊天室的VC++程序设计.doc
用WINSOCK实现聊天室的VC++程序设计
一:SOCKET简介
80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协议。在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。这个API称为Socket接口(套接字)。
今天,SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。
90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即WindowsSockets规范。它是BerkeleySockets的重要扩充,主要是增加了一些异步函数,并增加了符合Windows消息驱动特性的网络事件异步选择机制。WINDOWSSOCKETS规范是一套开放的、支持多种协议的Windows下的网络编程接口。
从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。目前,在实际应用中的WINDOWSSOKCETS规范主要有1.1版和2.0版。两者的最重要区别是1.1版只支持TCP/IP协议,而2.0版可以支持多协议。2.0版有良好的向后兼容性,任何使用1.1版的源代码,二进制文件,应用程序都可以不加修改地在2.0规范下使用。
SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句柄一样,可以对SOCKET句柄进行读,写操作。
二:基于WINDOWS SOCKET的应用开发介绍。
在WINDOWS95/98,WINDOWSNT进行WINSOCK开发使用的编程语言有很多,VC++,JAVA,DELPHI,VB等。其中VC时使用最普遍,和WINSOCK结合最紧密的。并且VC++对原来的WindowsSockets库函数进行了一系列封装,继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着有关Socket的各种功能,是编程变得更加简单。但如果你是一个WINSOCK编程的初学者,那么建议你在一开始还是学习WINSOCK最基本的API函数进行编程,这样可以大大加深对WINSOCK的了解,对将来很有好处。
在VC中进行WINSOCK的API编程开发,需要使用到下面三个文件:
1、 WINSOCK.H: 这是WINSOCK API的头文件。
2、 WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一点要把它作为项目的非缺省的连接库包含到项目文件中去。
3、 WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。
WINSOCK接口在WINDOWS编程环境中的位置如下图所示:
==================
==================
可以看到,WINSOCK。DLL位于TCP/IP协议栈和应用程序之间。也就是说,WINSOCK管理与TCP/IP协议的接口。在一开始WINSOCK的应有开发时,你不必对TCP/IP协议有很深刻的了解。但是,如果想成为一个为网络编程的高手,就一定要对下层了解得十分清楚。
在网络编程中最常用的方案便是客户机/服务器模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程序被“惊醒”并且为客户提供服务-对客户的请求作出适当的反应。虽然基于连接协议(流套接字)的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可以通过无连接协议(数据报套接字)提供的。其编程模型分别如下:
面向连接协议的SOCKET编程模型================================
无连接协议的SOCKET编程模型================================
一般在使用中,面向连接协议的SOCKET编程模型应用最为广泛,因为面向连接协议提供了一系列的数据纠错功能,可以保证在网络上传输的数据及时、无误地到达对方。 总的来说,使用SOCKET接口(面向连接或无连接)进行网络通信时,必须按下面简单的四步进行处理:
程序必须建立一个 SOCKET。
程序必须按要求配置此SOCKET。也就是说,程序要么将此SOCKET连接到远方的主机上,要么给此SOCKET指定一个本地协议端口。
3、程序
您可能关注的文档
- 溪东小学智能广播系统采购清单.doc
- 溶液和胶体(4学时).doc
- 演示文稿制作软件培训计划-演示文稿制作.doc
- 漯河医学高等专科学校.doc
- 漳州师范学院电脑、打印机询价采购.doc
- 潍坊学院第十四届排球赛.doc
- 潍坊职业学院2015、2015年高职(专科)毕业生统计表.doc
- 潍坊职业学院农业工程系毕业论文答辩安排.doc
- 潮汕华侨对潮汕的贡献.doc
- 澄海区2015年初中毕业生学业考试.doc
- 2025年六安市金安区引进事业单位紧缺急需人才20名笔试模拟试题及答案详解一套.docx
- 2025年六安市金安区引进事业单位紧缺急需人才20名笔试模拟试题及完整答案详解1套.docx
- 2025年小学总务处校园秩序维护计划.docx
- 浙江省海盐高级中学2023-2024学年高二上学期10月阶段测化学 Word版无答案.docx
- 2025年新人教版小学语文三年级教学计划.docx
- 海船船员考试《现代电子定位仪器找答案》考试题.doc
- 筑梦与成长主题班会.ppt
- 2025年药剂科应急管理总结与2025年工作计划.docx
- 2025年六安市叶集区引进事业单位急需紧缺专业人才和高层次人才笔试模拟试题带答案详解.docx
- 2025年六安市叶集区引进事业单位急需紧缺专业人才和高层次人才笔试模拟试题附答案详解.docx
文档评论(0)