电子科技大学解说.docx

上传人:b****9 文档编号:140718 上传时间:2022-10-04 格式:DOCX 页数:64 大小:113.24KB
下载 相关 举报
电子科技大学解说.docx_第1页
第1页 / 共64页
电子科技大学解说.docx_第2页
第2页 / 共64页
电子科技大学解说.docx_第3页
第3页 / 共64页
电子科技大学解说.docx_第4页
第4页 / 共64页
电子科技大学解说.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

电子科技大学解说.docx

《电子科技大学解说.docx》由会员分享,可在线阅读,更多相关《电子科技大学解说.docx(64页珍藏版)》请在冰豆网上搜索。

电子科技大学解说.docx

电 子 科 技 大 学

毕业设计(论文)任务书

拟题单位 计算机科学与工程学院 审题人王忠仁

题目全称 Winsock网络通信程序设计

主要任务:

用VisualC++开发一个完整的网络通信程序。

主要要求有:

1、使Winsock进行程序的设计和实现。

2、设计和实现过程应涵盖通信编程的基本原理和概念。

3、要求使用客户端/服务器模式设计和组织程序

起止时间:

2005 年 3 月 1 日至 2005 年 6 月13 日学生姓名曹国栋专业计算机科学与技术(软件技术)班次21082010班

指导单位 计算机科学与工程学院

指导教师 王忠仁

设计地点 计算机科学与工程学院

成果形式 软件

2005 年6月 12日

IV

目 录

第一章 引 言 1

第二章 WINSOCK编程原理 2

2.1WINSOCK编程基本概念 2

2.1.1网间进程通信 2

2.1.1.1端口 2

2.1.1.2地址 3

2.1.1.3网络字节顺序 3

2.1.1.4连接、半相关、全相关 3

2.1.2Winsock服务模式 4

2.1.3客户端/服务器模式 5

2.1.4套接字类型 5

2.1.5典型套接字调用 6

2.1.5.1创建套接字——socket() 6

2.1.5.2指定本地地址——bind() 6

2.1.5.3建立套接字连接——connect()与accept() 7

2.1.5.4监听连接——listen() 8

2.1.5.5数据传输——send()与recv() 8

2.1.5.6输入/输出多路复用——select() 9

2.1.5.7关闭套接字——closesocket() 9

2.2WINDOWSSOCKET编程要点 10

2.2.1WindowsSockets的组成部分 10

2.2.2启动与终止 10

2.2.3异步选择机制 11

2.2.4异步请求函数 12

2.2.5异步数据传输 13

2.2.6阻塞处理方法 14

2.2.7出错处理 15

第三章 MFC封装WINSOCK类研究 15

3.1WINSOCKAPI的MFC封装类 15

3.2CASYNCSOCKET类 17

3.2.1重要的成员函数 17

3.2.1.1CAsyncSocket和Create成员函数 17

3.2.1.2Accept成员函数 17

3.2.1.3Bind成员函数 18

3.2.1.4Connect成员函数 18

3.2.1.5Listen成员函数 18

3.2.1.6Send成员函数 18

3.2.1.7SendTo成员函数 19

3.2.1.8Receive成员函数 19

3.2.1.9ReceiveFrom成员函数 19

3.2.1.10ShutDown成员函数 20

3.2.1.11Close成员函数 20

3.2.2消息回调函数的重载 20

3.2.2.1OnAccept函数 20

3.2.2.2OnClose函数 20

3.2.2.3OnOutOfBandData函数 21

3.2.2.4OnReceive函数 21

3.2.2.5OnSend函数 21

3.2.3CAsyncSocket类的编程模型 21

3.3CSOCKET类 22

3.3.1重要的成员函数 22

3.3.1.1CSocket和Create函数 22

3.3.1.2IsBlocking函数 22

3.3.1.3FromHandle函数 22

3.3.1.4Attach函数 22

3.3.1.5CancleBlockingCall函数 23

3.3.1.6OnMessagePending函数 23

3.3.2CSocket对象与串行化技术 23

3.3.3CSocket类编程模型 24

第四章 多人在线聊天室的分析与实现 25

4.1多人在线聊天室的功能要求和功能分析 25

4.1.1主要功能要求 25

4.1.2客户端程序主要功能分析 25

4.1.3服务器端主要功能分析 26

4.2聊天室客户端程序的设计与实现 26

4.2.1封装消息类 26

4.2.2创建客户套接字类 28

4.2.3处理套接字通信 29

4.2.3.1文档类CChatClientDoc 29

4.2.3.2初始化函数 31

4.2.3.3通信函数 33

4.2.3.4结束处理函数 35

4.2.3.5消息显示函数 36

4.2.4界面设计与编写 39

4.2.4.1模板的创建 39

4.2.4.2COnlineBar类 39

4.2.4.3COnlineList类 41

4.2.4.4在CMainFrame类中创建和显示窗口 42

4.3聊天室服务器程序设计和实现 44

4.3.1CListeningSocke类 44

4.3.2CClientSocket类 45

4.3.3通信管理类CServerDoc 46

4.4总结 51

第五章 结论 51

参考文献 52

Winsock通讯程序设计

作 者:

曹国栋 班级:

2108201016指导老师:

王忠仁

指导单位:

计算机科学与工程学院

摘要:

随着网络技术和通讯技术的发展,TCP/IP协议成为Internet事实上的工业标准。

Winsock是一套开放的、支持多种协议的、Windows平台下的网络应用编程接口,是Windows网络编程的事实标准和重要基础。

使用WinsockAPI,可以方便的实现TCP/IP通讯协议。

在现实网络通讯应用中,一种重要的模式是客户端/服务器模式(Client/Servermodel),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。

本文探讨了怎样使用Winsock

API实现简单的 Winsock 网络通讯应用程序设计,分别说明如何在Server端和Client端进行Socket操作,实现基于TCP/IP的数据传送,研究了MFC封装的Wicsock类,最后介绍了使用MFCWinsockAPI实现多人在线聊天室程序的方法。

关键词 WindowsSockets、网络通信编程

VI

ABSTRACT Withthedevelopofnetworkandcommunicationtechnology,TCP/IPprotocolbecomesthevirtualindustrialstandard.Winsockisasetofopen,multi-protocolsupportingnetworkapplicationprogramminginterface,itisthevirtualnetworkprogrammingstandardandimportantbasic.ItisconvenienttoaccomplishTCP/IPprotocolbyusingWinsockAPI.Inthenetworkcommunicationapplication,animportantmodelisClient/Servermodel.Thatis,ClientsendsaapplicationforservicetotheServer,WhenServerreceivestheapplication,itsupliestheproperservice.ThisarticlediscussedhowtousetheWinsockAPItoaccomplishsimpledesignofnetworkcommunicationapplication.HowtodealwiththeWindowsSocketoperationontheClientandServer.AndhowtoaccomplishdatacommunicationbasedonTCP/IP.AswellasstudyingtheMFCWinsockClasses.Inthelastpartofthisarticle,introducedthemethodtoaccomplishamulti-useron-linechatroonusingMFCWinsockAPI.

第一章 引 言

七十年代中期,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校,TCP/IP很快被集成到UNIX中,之后,一套专门用于网络通讯开发的API出现了。

这个API就是Socket接口(套接字)。

互联网技术的逐步普及使得开发在TCP/IP协议上的应用受到日益的重视,TCP/UDP和IP等协议不能直接为用户使用,用户需要使用相应的应用编程接口去实现具体的网络应用。

不同的操作系统提供了不同的针对网络编程的接口,由于Berkeley

Sockets只能用于UNIX操作系统,它不能支持DOS和MicrosoftWindows环境,

90年代初,由Sun Microsystems、JSB Corporation、FTP

software、Microdyne以及Microsoft等几家公司共同参与制定了一套标准,即WindowsSockets1.0版规范,试图使Windows下Sockets程序设计标准化。

1993年1月,他们制定了Windows Sockets1.1版规范,定义了16位

Windows下的网络标准编程接口。

随着形势的发展,特别是32位Windows平台的发展,Windows Sockets 1.1已不能满足需要。

1994年5月,Winsock小组开始启动Winsock2规范的制定工作。

1997年5月,Winsock2的正式规范版

本2.2.1发布。

从1991年的1.0版到1997年的2.2.1版,经过不断完善并在

Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,

Winsock成为得到广泛应用的、开放的、支持多种协议的网络编程接口。

目前,在实际应用中的Windows Sockets规范主要有1.1版和2.0版。

两者的最重要区别是1.1版只支持TCP/IP协议,而2.0版可以支持多协议,2.0版有良好的向后兼容性。

已成为Windows网络编程的事实上的标准。

换言之,Windows下的Internet软件都是基于WinSock开发的。

Windows环境下进行通讯程序设计的最基本方法是应用WinSock实现进程间的通讯。

客户端/服务器模型得到了广泛的应用。

客户应用程序向服务器程序请求服务。

一个服务程序通常在一个众所周知的端口监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户对这个服务的地址提出了连接请求。

在这

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1