1、电子科技大学毕业设计(论文)任务书拟题单位 计算机科学与工程学院审题人 王忠仁题目全称Winsock 网络通信程序设计主要任务:用 Visual C+开发一个完整的网络通信程序。主要要求有:1、使 Winsock 进行程序的设计和实现。2、设计和实现过程应涵盖通信编程的基本原理和概念。3、要求使用客户端/服务器模式设计和组织程序起止时间:2005年3月1日至2005年6月 13日学生姓名 曹国栋 专业计算机科学与技术(软件技术)班次 21082010 班指导单位计算机科学与工程学院指导教师 王忠仁设计地点计算机科学与工程学院成果形式软件2005年 6 月12 日IV目录第一章引言1第二章WIN
2、SOCK 编程原理22.1 WINSOCK 编程基本概念22.1.1 网间进程通信22.1.1.1 端口22.1.1.2 地址32.1.1.3 网络字节顺序32.1.1.4 连接、半相关、全相关32.1.2 Winsock 服务模式42.1.3 客户端/服务器模式52.1.4 套接字类型52.1.5 典型套接字调用62.1.5.1 创建套接字socket()62.1.5.2 指定本地地址bind()62.1.5.3 建立套接字连接connect()与 accept()72.1.5.4 监听连接listen()82.1.5.5 数据传输send()与 recv()82.1.5.6 输入/输出多路
3、复用select()92.1.5.7 关闭套接字closesocket()92.2 WINDOWS SOCKET 编程要点102.2.1 Windows Sockets 的组成部分102.2.2 启动与终止102.2.3 异步选择机制112.2.4 异步请求函数122.2.5 异步数据传输132.2.6 阻塞处理方法142.2.7 出错处理15第三章MFC 封 装 WINSOCK 类 研究153.1 WINSOCK API 的 MFC 封装类153.2 CASYNCSOCKET 类173.2.1 重要的成员函数173.2.1.1 CAsyncSocket 和 Create 成员函数173.2.
4、1.2 Accept 成员函数173.2.1.3 Bind 成员函数183.2.1.4 Connect 成员函数183.2.1.5 Listen 成员函数183.2.1.6 Send 成员函数183.2.1.7 SendTo 成员函数193.2.1.8 Receive 成员函数193.2.1.9 ReceiveFrom 成员函数193.2.1.10 ShutDown 成员函数203.2.1.11 Close 成员函数203.2.2 消息回调函数的重载203.2.2.1 OnAccept 函数203.2.2.2 OnClose 函数203.2.2.3 OnOutOfBandData 函数213.
5、2.2.4 OnReceive 函数213.2.2.5 OnSend 函数213.2.3 CAsyncSocket 类的编程模型213.3 CSOCKET 类223.3.1 重要的成员函数223.3.1.1 CSocket 和 Create 函数223.3.1.2 IsBlocking 函数223.3.1.3 FromHandle 函数223.3.1.4 Attach 函数223.3.1.5 CancleBlockingCall 函数233.3.1.6 OnMessagePending 函数233.3.2 CSocket 对象与串行化技术233.3.3 CSocket 类编程模型24第四章多人
6、在线聊天室的分析与实现254.1 多人在线聊天室的功能要求和功能分析254.1.1 主要功能要求254.1.2 客户端程序主要功能分析254.1.3 服务器端主要功能分析264.2 聊天室客户端程序的设计与实现264.2.1 封装消息类264.2.2 创建客户套接字类284.2.3 处理套接字通信294.2.3.1 文档类 CChatClientDoc294.2.3.2 初始化函数314.2.3.3 通信函数334.2.3.4 结束处理函数354.2.3.5 消息显示函数364.2.4 界面设计与编写394.2.4.1 模板的创建394.2.4.2 COnlineBar 类394.2.4.3
7、COnlineList 类414.2.4.4 在 CMainFrame 类中创建和显示窗口424.3 聊天室服务器程序设计和实现444.3.1 CListeningSocke 类444.3.2 CClientSocket 类454.3.3 通信管理类 CServerDoc464.4 总结51第五章结论51参考文献52Winsock 通讯程序设计作者:曹国栋班级:2108201016 指导老师:王忠仁指导单位:计算机科学与工程学院摘要:随着网络技术和通讯技术的发展, TCP/IP 协议成为 Internet 事实上的工业标准。Winsock 是一套开放的、支持多种协议的、Windows 平台下的
8、网络应用编程接口,是 Windows 网络编程的事实标准和重要基础。使用 Winsock API,可以方便的实现 TCP/IP 通讯协议。在现实网络通讯应用中,一种重要的模式是客户端/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。本文探讨了怎样使用 WinsockAPI 实现简单的Winsock网络通讯应用程序设计,分别说明如何在 Server 端和 Client 端进行 Socket 操作,实现基于 TCP/IP 的数据传送,研究了 MFC 封装的 Wicsock 类,最后介绍了使用 MFC Winsock API 实现
9、多人在线聊天室程序的方法。关键词Windows Sockets、网络通信编程VIABSTRACTWith the develop of network and communication technology, TCP/IP protocol becomes the virtual industrial standard.Winsock is a set of open, multi-protocol supporting network application programming interface, it is the virtual network programming stand
10、ard and important basic. It is convenient to accomplish TCP/IP protocol by using Winsock API. In the network communication application,an important model is Client/Server model. That is , Client sends a application for service to the Server, When Server receives the application, it suplies the prope
11、r service. This article discussed how to use the Winsock API to accomplish simple design of network communication application. How to deal with the Windows Socket operation on the Client and Server. And how to accomplish data communication based on TCP/IP.As well as studying the MFC Winsock Classes.
12、In the last part of this article , introduced the method to accomplish a multi-user on-line chat roon using MFC Winsock API.第一章引言七十年代中期,美国国防部高研署(DARPA)将 TCP/IP 的软件提供给加利福尼亚大学 Berkeley 分校,TCP/IP 很快被集成到 UNIX 中,之后,一套专门用于网络通讯开发的 API 出现了。这个 API 就是 Socket 接口(套接字)。互联网技术的逐步普及使得开发在 TCP/IP 协议上的应用受到日益的重视,TCP/UD
13、P 和 IP 等协议不能直接为用户使用,用户需要使用相应的应用编程接口去实现具体的网络应用。不同的操作系统提供了不同的针对网络编程的接口,由于 BerkeleySockets 只能用于 UNIX 操作系统,它不能支持 DOS 和 Microsoft Windows 环境,90 年代初,由 SunMicrosystems、JSBCorporation、FTPsoftware、Microdyne 以及 Microsoft 等几家公司共同参与制定了一套标准, 即 Windows Sockets 1.0 版规范,试图使 Windows 下 Sockets 程序设计标准化。1993 年 1 月,他们制定
14、了 WindowsSockets1.1 版规范,定义了 16 位Windows 下的网络标准编程接口。随着形势的发展,特别是 32 位 Windows 平台的发展,WindowsSockets1.1 已不能满足需要。1994 年 5 月,Winsock 小组开始启动 Winsock 2 规范的制定工作。1997 年 5 月,Winsock 2 的正式规范版本 2.2.1 发布。从 1991 年的 1.0 版到 1997 年的 2.2.1 版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell 等公司的全力支持下,Winsock 成为得到广泛应用的、开
15、放的、支持多种协议的网络编程接口。目前, 在实际应用中的 WindowsSockets 规范主要有 1.1 版和 2.0 版。两者的最重要区别是 1.1 版只支持 TCP/IP 协议,而 2.0 版可以支持多协议,2.0 版有良好的向后兼容性。已成为 Windows 网络编程的事实上的标准。换言之,Windows 下的 Internet 软件都是基于 WinSock 开发的。Windows 环境下进行通讯程序设计的最基本方法是应用 WinSock 实现进程间的通讯。客户端/服务器模型得到了广泛的应用。客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的端口监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。在这
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1