欢迎来到天天文库
浏览记录
ID:46512726
大小:123.00 KB
页数:16页
时间:2019-11-24
《【课程设计】C编程基于Winsork和UDP协议的网络聊天室的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、摘要基本的网络编程都是建立在Winsock基础上的,作为网络编程接口,Winsock屏蔽了网络底层的复杂的协议和数据结构,因此,在Win32平台上,访问众多的基层网络协议,Winsock是首选接口。用Winsock构建一个网络聊天室,冇两种基本的方式:数据•报方式和流方式,即面向无连接的数据报方式和面向连接的流方式,对应的协议分别为UDP(UserDatagramProtocol)协议和TCP(TransportControlProtocol))协议。本次我们设计的网络聊天室是基于UDP协议的无连接方式,软件编程则主要使用Winso
2、ck提供的API函数。关键字:网络编程UDP协议API函数1设计目的与功能要求1.1设计目的(1)编写一个简单的C/S模式的网络聊天室软件(2)进一步掌握利用VisualC++进行程序设计的能力;(3)进一步理解和运用面向对象程序设计的思想和方法;(4)初步常握开发一・个小型实用系统的基木方法;(5)理解Windows程序的运行过程。1.2网络聊天室功能要求网络聊天室系统设计完成后,我们可以在一台计算机上运行服务端程序,然后在另一网络的其他计算机上运行客户端程序,登录到服务器上,各个客户之间就可以聊天,或者直接在一台计算机上同吋运行
3、服务器端和客户端,然后两者之间进行通信。1.2.1服务器端功能要求(1)初始化socket,创建服务器端。(2)维护一个链表,保存所有用户的IP地址、端口信息。(3)接受用户传送來的聊天信息,然后向链表中的所用用户转发。(4)接受用户传送来的连接判断命令,并向用户发岀响应命令。1.2.2客户端功能要求客户端界面上的两个文本框,一个用于显示接受的聊天信息,一个用來接受用户输入的聊天信息。当按下“发送”按钮吋将信息发送给服务器。2设计原理本次设计的题目是实现一个简单的C/S模式的网络聊天室,基于UDP协议,是不可靠的面向无连接的方式。设
4、计的基木原理也就是UDP编程原理。UDP协议是一个简单的面向数据报的传输层协议,乂叫用户数据报协议。它提供了无连接的、不可靠的数据传输服务。无连接是指它不像TCP协议那样在通信前先于对方建立连接以确定对方的状态。不可靠是指它直接安装指定的IP地址和端口号将数据包发送出去,如果对方不在线的话数据就可能丢失。UDP协议编程原理如K:2.1服务器端原理(1)创建套节字(socket);(2)绑定IP地址和端口(bind);(3)收发数据(sendto/recvfrom);(4)关闭连接(closesocket)<>2.2客户端原理(1)创
5、建套节字(socket);(2)收发数据(sendto/recvfrom);(3)关闭连接(closesocket)oUDP协议用于发送和接收数据的函数是sendto和recvfrom。它们的原形如下:intsendto(SOCKETs,〃用于发送数据的套节字ConstcharFAR*buf,〃指向发送数据的缓冲区intlen,〃要发送数据的氏度intflags,〃一般指定为0〃指向一个包含0标地址和端口号的sockaddr_in结构conststructsockaddr*to,inttolen);〃为socket_in的结构大小同
6、样UDP协议接收数据也需要知道通信对端的地址信息。intrecvfrom(SOCKETs,charFAR*buf,intlen,intflags,structsockaddrFAR*from,intFAR*fromlen);2.3网络聊大室设计流程该程序设计使用WindowsSockets编程。在数据传输协议中,我们使用UDP协议,UDP协议是无连接的协议,在服务器端不调用listen函数进行监听,也不调用accept函数建立连接,其操作流程图如下图3-2所示:首先,用socket函数建立套接字,然后根据本地的IP进行绑定,然后就可
7、以通过使用send函数和reve函数來进行数据的发送和接收了。利用C语言编写Windows应用程序有两种方式:一种是WindowsC编程方式,另一种是VisualC卄编程方式。在一般情况下,VisualC++编程方式编写的程序源代码量小、开发时的工作量小、工作难度也较小,但编译后的代码量较大,运行速度略低;IfljWindowsC编程方式编写的程序源代码量虽然较大,但可执行代码效率高。随着技术的进步,VisualC++编程方式已被广泛采用,但象网络编程等一些对速度要求高、对硬件操作较多的程序,大多数还是用WindowsC编程方式开发
8、的。另外,学习WindowsC程序设计,还冇助于更深入地了解Windows的内幕和WindowsAPI。3实现过程设计数据报方式又称无连接方式,对应的是UDP(UserDatagramProtocol)协议。这种方式不提供数据无错保证
此文档下载收益归作者所有