《聊天程序开发文档.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《聊天程序开发文档

南 京 理 工 大 学 紫金学院 网络编程技术报告 作 者: 学 号: 学院(系): 计算机科学与技术 专 业: 网络工程 题 目: 多功能聊天程序 2013 年 12 月 目 录 一、背景····································3 二、系统功能········································4 三、系统设计流程图····································5 四、系统模块划分·····································7 五、详细设计及实现··································9 六、总结体会········································19 一. 背景 网络聊天室通常直称聊天室,是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。聊天室可以建立在即时通讯软件(如MSN Messenger、QQ)、P2P软件、万维网(如 Halapo,Meebo ) 等基础上,万维网方式更为普通和种类繁多,交谈的手段不局限于文本,更包括语音、视频。通常聊天室是按照房间或频道为单位的,在同一房间或频道的网人可以实时地广播和阅读公开消息。一般情况下,与其它网络论坛、即时通讯不同的是,聊天室不保存聊天记录。 1.1课题背景及意义 当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础设施”。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单的聊天室, 从程序员的观点来看就是在多个I/O端点之间实现多对多的通信。基于SOCKET的局域网通信是一种灵活的、易于实现的、低成本的方法。它可以运行在各种使用TCP/IP协议作为通讯协议的网络上。而在SOCKET API的帮助下,开发基于SOCKET的局域网通信软件也是易于实现的。 1.2 实验平台介绍 Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在?Windows平台无所不能。VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层?的调用。在VC里边嵌入汇编语言很简单。当对系统性能要求很高的时候,可用VC开发。VC在多线程、网络通信、分布应用方面,有不可比拟的优势。 二.需求分析 2.1 设计目的   综合运用本课程的知识设计,Visual C++作为,复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力。 设计 系统模块划分 图1.系统模块划分图 服务器端: 服务器等待用户从主窗口发来的启动和接收消息的过程如下: 首先,建立自己的套接口。在互联网的进程通信中,全局标识一个进程需要一个被称为“半相关”的三元组(协议,本地主机地址和本地端口号)来描述;而一个完整的进程通信实例,则需要一个被称为“相关”的五元组(协议,本地主机地址,本地端口号,远端主机地址和远端端口号)来描述。 s_sockfd=socket(AF_INET,SOCK_STREAM,0),该函数建立指定格式,数据类型和协议下的套接口。地址格式为AF_INET(唯一支持的格式);数据类型SOCK_STREAM表示建立流式套接口;第三个参数为0,即协议缺省。 Bind(s_sockfd,(struct sockaddr*)server,sizeof(server)),该函数建立服务器本地的半相关。其中,server是sockaddr_in结构,其成员描述了本地端口号和本地主机地址,经过bind()将服务器进程在网上标识出来。然后建立连接,先是调用listen()函数表示开始侦听,再通过accept()调用等待接收连接。Listen(s_sockfd,2)表示连接请求队列长度为2,即允许有两个请求。若有多于两个请求,则出现错误,给出错误代码。ns=accept(s_sockfd,(struct sockaddr*) chent, namelen), accept() 阻塞缺省等待请求队列中的请求,一旦有连接请求来到,该函数就建立一个和s有相同属性的新的套接口。Client也是一个sockaddr_in结构,连接建立时填入请求连接的套接口的半相关信息。然后,就可以接收和发送数据了。 recv

文档评论(0)

popo786 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档