- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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协议族,该参数置为
您可能关注的文档
最近下载
- 小学英语新课程标准解读版.pptx VIP
- 服装设计教程_自学服装设计.pdf VIP
- 医疗机构相关法律法规培训PPT课件(医疗卫生与健康促进法、医师法、处方管理办法、传染病防治法、职业病防治法、医疗纠纷).pptx VIP
- XX市国资国企在线监管系统项目技术方案(2023最新).pdf VIP
- 《应急疏散演练》课件.ppt VIP
- 部编版小学四年级语文上册第一单元测试卷及答案(共4套).pdf VIP
- 2025年山区救援网5G网络覆盖对山区救援效率的影响报告.docx VIP
- 向量的概念试题.pdf VIP
- 光伏施工项目资源配备计划.docx VIP
- 中国地铁发展史PPT课件.pptx VIP
文档评论(0)