计算机课设讲述.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机课设讲述

吴淑炳《简单聊天程序的设计与实现》 第  PAGE \* MERGEFORMAT 15 页 共  NUMPAGES \* MERGEFORMAT 15 页 PAGE  简单聊天程序的设计与实现 学生姓名:吴淑炳 指导老师:熊兵 摘要 本课程设计主要是设计并实现一个简单的聊天程序,该聊天程序实现客户端与服务端之间的通信,聊天的内容可以仅仅支持文本信息,聊天程序包括服务器程序和客户端程序。介绍了套接字接口(Socket Interface)的编程原理,Tcp/Ip协议等知识,基于Eclipse的开发平台,采用了面向连接的流式Socket程序设计,实现客户端与服务器之间的通信,经测试,程序正常运行,实现了设计的目标。 关键词 聊天程序;服务器;客户端;Eclipse 1 引言 1.1本文主要内容 本课程设计主要是简单聊天程序的设计与实现,通过对简单聊天程序的设计的分析,分析聊天程序的工作原理以及实现的过程。该聊天程序能够支持两人聊天,聊天的内容可以仅仅支持文本信息,聊天程序包括服务器程序和客户端程序。 本文第二节介绍了设计原理,第三节介绍了设计步骤,第四节写了对本次课设的总结。 1.2设计平台 课程设计中系统的开发平台为Eclipse,程序运行平台为Windows XP 2设计原理 2.1 套接字编程原理 TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。客户/服务器(Client/Server,C/S)模型是因特网进程之间通信的模型之一,它所描述的是进程之间服务和被服务的关系。客户和服务器都是指通信中所涉及的两个应用进程,其中,客户是服务的请求方,服务器是服务的提供方。进程间使用C/S模型通信时,服务器进程一般在系统启动时自动运行,以后一直保持运行状态,被动地等待客户进程的通信请求,而客户进程则在需要与服务器进程通信时,主动向服务器进程联系,向服务器发送请求,服务器收到客户请求后对客户请求作出响应。(过程如下) (1)打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。 (2)等待客户请求到达该端口。 (3)接收到重复服务请求,处理该请求并发送应答信号。 (4)返回第二步,等待另一客户请求 (5)关闭服务器。客户方: (1)打开一通信通道,并连接到服务器所在主机的特定端口。 (2)向服务器发送服务请求报文,等待并接收应答;继续提出请求…… (3)请求结束后关闭通信通道并终止。 所谓的客户客户端/服务器。是一种能够在基于网络环境的分布处理过程中,使用基于连接的网络通信模型。该通信模型首先在客户机和服务器之间定义一套通信协议,并创建一个Socket类,利用这个类来建立一条可靠的链接;然后,客户端/服务器再在这条连接上可靠地传输数据。客户端发出请求,服务器发出请求,服务器监听来自客户机的请求,并为客户端提供相应服务。 设计Socket程序都要遵循四个步:(1)建立Socket;(2)配置Socket;(3)通过Socket收发数据;(4)通信完毕,释放所建立的Socket。 面向连接的Socket程序设计流程如图2-1所示。在设计服务器端程序时,首先使用Socket函数创建一个流式套接字,再调用listen()函数将服务器设置为被动的监听模式,建立一个请求队列,接着用accept函数接受客户的连接请求,并建立连接。连接建立后,就可以使用Recv()接受客户端发来的服务请求数据,使用send()向客户端发送相应数据。当所有的数据传输结束后,调用close()函数来释放该套接字,从而停止该套接字上的任何数据操作。 在设计客户端程序时,同样要先使用Socket()函数创建一个流式套接字,接着调用connect()函数启动与服务器建立网络连接的过程,在客户与服务器建立连接后,就可以使用send()向服务器发送请求数据,使用Reve()接受服务器发来的响应数据。当所有的数据传输结束以后,调用close()函数来释放所建立的套接字。 客户端 服务器端 Socket() bind() Socket()()( listen() Connect() accept() Recv() Send() Close() 连接建立请求 Send() Recv() Close() 图2-1 面向连接的Socket程序设计流程 2.2常用WinsockAPI函数 1.Socket函数 调用格式:SOCKET socket(int af,int type,int protocol);应用程序调用socket函数来创建一个能够进行网络通信的套接字。第一个参数指定应用程序使用的通信协议的协议族,对于TCP/IP协议族,该参数置为

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档