- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程
课程设计说明书
设计题目
基于TCP/IP的网络文字聊天程序设计
专业:网络工程
班级:网络1301班
姓名:
学号:1320140130
时间:2015.12.23
目录
一、 课程设计题目 1
二、 设计要求 1
(一) 对设计方法的要求 1
(二) 对设计内容的要求 1
(三) 设计思路与开发过程 1
三、 设计原理及Socket套接字 1
(一) 设计原理 1
(二) Socket套接字 2
四、 TCP/IP协议 3
(一) 网络接口层 3
(二) 网络层 3
(三) 传输层 4
(四) 应用层 4
(五) TCP/IP协议运作机制 5
(六) 通讯端口 6
(七) IP地址 6
五、 课程设计内容 7
(一) 设计功能 7
(二) 流程图 7
六、 程序设计原理 10
(一) 客户端 10
(二) 服务器端 10
七、 程序创建过程 10
(一) 创建服务器 10
(二) 创建客户端 13
八、 程序截图 16
(一) 服务器界面截图 16
(二) 客户端界面截图 16
九、 设计使用说明 18
十、 此次收获 19
十一、设计需要改进之处 19
十二、参考文献 19
课程设计题目
基于TCP/IP的网络文字聊天程序设计。
设计要求
对设计方法的要求
使用Visual C++6.0开发在Windows控制台或图形界面下运行的程序。
对设计内容的要求
时间网络文字聊天程序的服务器端。
实现网络文字聊天程序的客户端。
主程序的结构和流程图。
程序运行的截图。网络文字聊天程序的实现原理。
网络文字聊天程序实现代码的分析。
对课程设计说明书的要求。
设计思路与开发过程
对主要代码段要求详细的注释。
对本次设计的评价与设计的收获。QQ、微软的MSN、移动的Fetion等,都是做的比较成功的实时聊天工具。随着网络的日益普及,各种聊天工具也层出不穷,但当我们学习了《网络编程》这门课程之后,我们便会觉得,其实要实现简单的网络通讯其实并不难。接下来的课程设计就是针对一个简单的网络聊天程序,利用MFC为开发工具,实现基本的通讯功能。
此程序主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端口,等待客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发;客户端可通过服务器端的IP地址发送连接请求,然后登陆聊天室。整个程序的主体使用了CSocket类的方法,实现了网络通讯聊天。
整个程序设计为两个部分:服务器 (Server)和客户端 (Client)。
多人聊天的关键在于要将每个客户端发送过来的消息分发给所有其他客户端,为了解决这个问题,在服务器程序中建立一个套接口链表,用来保存所有与客户端建立了连接的服务端口。下面描述了多人聊天的实现原理:
当客户端Client N向对应的服务端口N发送了消息Message,服务端口N将Message复制给所有套接口列表(USERLIST)中的套接口缓冲区,然后向每个服务端口发送WRITE消息,使每个服务端口将Message发送给对应的客户端。这样,所有客户端就都获得了Message消息,实现了多人聊天功能。
Socket套接字
socket的英文原义是“孔”或“插座”。在这里作为4BDS UNIX的进程通信机制,取后一种意思。socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。
在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,这也与socket机制非常相似。socket利用网间网通信设施实现进程通信,但它对通信设施的细节毫不关心,只要通信设施能提供足够的通信能力,它就满足了。
至此,我们对socket进行了直观的描述。抽象出来,socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建
您可能关注的文档
- “一杯水、一份情、暖全城”全城免费饮水大型社会公益活动.ppt
- “一带一路”与广西“双核驱动”发展战略(86分).doc
- “一带一路”与广西“双核驱动”发展战略4.doc
- 集成运算放大器()剖析.ppt
- 基于PID的直流电机速度控制系统设计实验报告剖析.docx
- 集成运算放大器的应用电路剖析.ppt
- 基于PID控制算法的温度控制系统的设计与仿真剖析.doc
- 集成运算放大器剖析.ppt
- 基于PID调解器的模糊自适应四旋翼飞行器控制技术剖析.pptx
- 集控高级值班员试题库剖析.doc
- 运动风格趋势:轻量化户外 2025 S S.pdf
- 数字乡村建设村村通广播应用方案.pdf
- 高盛-日本市场策略 Japan Strategy Flash 1Q325 earnings summary Double-digit (%) profit growth as results largely surprised upwards 0820 2024.pdf
- CEEM《全球智库半月谈》(总第286期).pdf
- 智慧物流概论微课课件第4章智慧物流信息平台.pdf
- 数字乡村公共安全综合平台项目解决方案.pdf
- 智慧物流概论微课课件第7章智慧物流包装.pdf
- 【案例】”啤酒之王“的智慧物流探索之路.pdf
- 数字连江城市数字基座(一期)和数字乡村示范点建设项目.pdf
- 智慧物流概论微课课件第1章智慧物流概述.pdf
文档评论(0)