文档介绍:《计算机网络》
课程设计报告
设计题目:网上聊天程序设计
目录
一、课程设计的目的和意义 1
二、设计的具体任务 1
三、设计的构思及理论基础 1
2
2
①OSI网络参考模型 2
②TCP/IP参考模型 4
③TCP协议 5
④UDP协议 6
⑤端口 6
⑥SOCKET(套接字/插口) 7
四、程序设计 7
7
①概述 7
②TCP基础 8
③UDP基础 8
④属性 8
⑤方法 10
⑥事件 12
14
①创建网络聊天室服务端 14
②创建网络聊天室客户端 20
五、程序调试 22
23
28
28
六、个人总结 29
参考文献 29
一、课程设计的目的和意义
21世纪是一个以网络为核心的信息时代。要实现信息化,就必须依靠完善的网络。通过本课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议工程和LAN、WAN上的实际工作能力:学会网络构建、日常维护以及管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能。
二、设计的具体任务
,要求是能够实现两台或两台以上的计算机能在局域网中通信,设计出一个程序,能实现多人聊天,即网络聊天室,连接的每一台计算机可以连接的所有计算机交换信息,并且服务器端可以控制聊天的模式,比如是否开启讨论组即群聊,或者是服务器端向指定的客户端发送消息。在服务端,可以设置端口,查看客户端的人数和IP,能和指定的用户进行通信。在客户端,通过设置服务端的IP和端口号来来连接服务端,在客户端可以显示出是否已连接。连接后可以相互聊天,就像QQ那样进行互动。
三、设计的构思及理论基础
环境要求:Windows XP以上,,两台或两台以上的计算机组成的局域网。
本聊天程序是由服务端和客户端组成,程序的核心控件为Winsock控件,他是网络通信的核心要素。在服务端和客户端个添加一个Winsock控件,设置服务端Winsock的Port属性。本程序中,服务端可以连接多个客户端,所以,把服务端的Winsock控件的index属性设置为0,这样可以创建Winsock控件数组,通过加载控件数组可以连接多个客户端。要实现网络聊天室的功能,就必须让每个客户端发送的消息被其他的客户端收到,所以,当一个客户端发送消息后,服务端接受消息后就必须转发给其他客户端,这样,才可以实现这个功能。在服务端可以查看连接的客户端的IP,所以,当连接服务端后,将连接的客户端IP显示在List中,并将在线人数加1。isRunning()动态数组来记录对应控件数组当前加载的最大index及以前index控件是否加载,如有空缺,下次请求加载时可加载空缺的控件index,而不是一直从后面加,导致控件数组的index值过大。
①OSI网络参考模型
国际标准化组织创建OSI(Open System Interconnection,开放系统互连)模型,这一模型可以让产品在网络上协调工作。
OSI开放系统互连参考模型将整个网络的通信功能划分成七个层次,每个层次完成不同的功能。这七层由低层至高层分别是:物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。
OSI参考模型
OSI环境中的数据传输过程
OSI环境中的数据流
将模型分解为层,网络中计算机的互通性和互相操作的能力变得可以管理,因为每层是完备的,而并不依赖于操作系统或其他因素。
封装(Encapsulation)是在数据上加入报头或加在数据包里面的过程,在OSI参考模型中的每一层都要涉及到封装。
②TCP/IP参考模型
TCP/IP体系共分成四个层次。它们分别是:网络接口层、网络层、传输层和应用层。
TCP/IP 参考模型与 OSI 参考模型的对应关系
③TCP协议
TCP(Transmission Control Protocol,传输控制协议)是面向连接的,即在进行数据传输之前需要先建立连接,而且目的主机收到数据报后要发回确认信息。这种协议提供了一种可靠的传输服务,其逻辑通信信道就相当于一条全
双工的可靠信道。与UDP相比提供了较多的功能,但是相对的报文格式和运行机制也较为复杂。
④UDP协议
UDP(User Datagram Protocol,用户数据报协议)是无连接的,即在进行数据传输之前不需要建