课程设计简易聊天

课程设计简易聊天

ID:20920405

大小:53.60 KB

页数:16页

时间:2018-10-17

课程设计简易聊天_第1页
课程设计简易聊天_第2页
课程设计简易聊天_第3页
课程设计简易聊天_第4页
课程设计简易聊天_第5页
资源描述:

《课程设计简易聊天》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计报告课程名称:面向对象程序设计C++设计题目:简易聊天专业:计算机科学与技术姓名:学号:指导教师:李晓虹2016年1月1日一、Socket简介80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协议。在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用程序接口)。这个API称为Socket接口(套接字)。今天,SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。90年代初,由Microsoft联合了其他几家公司共同

2、制定了一套WINDOWS下的网络编程接口,即WindowsSockets规范。它是BerkeleySockets的重要扩充,主要是增加了一些异步函数,并增加了符合Windows消息驱动特性的网络事件异步选择机制。WINDOWSSOCKETS规范是一套开放的、支持多种协议的Windows下的网络编程接口。从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。目前,在实际应用中的WINDOWSSOKCETS规范主要有1.1版和2

3、.0版。两者的最重要区别是1.1版只支持TCP/IP协议,而2.0版可以支持多协议。2.0版有良好的向后兼容性,任何使用1.1版的源代码,二进制文件,应用程序都可以不加修改地在2.0规范下使用。SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句柄一样,可以对SOCKET句柄进行读,写操作。Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方法对准某个IP/

4、端口进行数据发送;接收端也首先创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出。如同读出文件中的数据一样。二、需求分析随着全球信息化的不断发展,网络也不断发展,对局域网的吞吐和处理信息的能力的要求不断提高,局域网已经不堪重负,制约了效率的提高。为了解决以上的矛盾,我们采用基于socket局域网通信的软件。基于Socket的局域网通信软件可以为企业原有的局域网提供一种良好,安全,快速的通信机制。它的实现无需对企业原有的局域网硬件进行任何改动,具有实现成本低廉的优点,它的使用能有效地降低局域网通信负荷,提高局域网的使用效率,可

5、以很好地解决企业内部局域网的各种通信需求。基于Socket的局域网聊天工具是此类局域网通信软件的具体实例之一,它很好地诠释了Socket通信的原理,并且在企业内部通信、教学、讨论等应用中都具有一定的实用价值。它具有信息收发速度快,保密性好,占用网络带宽资源低,占用服务器吞吐能力低,易于编程实现等优点。三、简要的接口命令介绍1.1 SOCKET类型SOCKET是socket套接字类型,在WINSOCK2.H中有如下定义:typedefunsignedint   u_int;typedefu_int          SOCKET;可知套接字实际上就是一个无符号整型,它将被Soc

6、ket环境管理和使用。套接字将被创建、设置、用来发送和接收数据,最后会被关闭。1.2 WSAStartup函数WSAStartup函数被用来初始化Socket环境,它的定义如下:intPASCALFARWSAStartup(WORDwVersionRequired,LPWSADATAlpWSAData);其返回值为整型,调用方式为PASCAL(即标准类型,PASCAL等于__stdcall),参数有两个,第一个参数为WORD类型,指明了Socket的版本号,第二个参数为WSADATA类型的指针。若返回值为0,则初始化成功,若不为0则失败。1.3 WSACleanup函数这是S

7、ocket环境的退出函数。返回值为0表示成功,SOCKET_ERROR表示失败。1.4 socket函数socket的创建函数,其定义为:SOCKETPASCALFARsocket(intaf,inttype,intprotocol);第一个参数为intaf,代表网络地址族,目前只有一种取值是有效的,即AF_INET,代表internet地址族;第二个参数为inttype,代表网络协议类型,SOCK_DGRAM代表UDP协议,SOCK_STREAM代表TCP协议;第三个参数为intprotocol,指定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。