课程基于udp协议采用winsock构建网络聊天室

课程基于udp协议采用winsock构建网络聊天室

ID:28788399

大小:101.54 KB

页数:13页

时间:2018-12-14

课程基于udp协议采用winsock构建网络聊天室_第1页
课程基于udp协议采用winsock构建网络聊天室_第2页
课程基于udp协议采用winsock构建网络聊天室_第3页
课程基于udp协议采用winsock构建网络聊天室_第4页
课程基于udp协议采用winsock构建网络聊天室_第5页
资源描述:

《课程基于udp协议采用winsock构建网络聊天室》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、摘要基本的网络编程都是建立在Winsock基础上的,作为网络编程接口,Winsock屏蔽了网络底层的复杂的协议和数据结构,因此,在Win32平台上,访问众多的基层网络协议,Winsock是首选接口。用Winsock构建一个网络聊天室,有两种基本的方式:数据报方式和流方式,即面向无连接的数据报方式和面向连接的流方式,对应的协议分别为UDP(UserDatagramProtocol)协议和TCP(TransportControlProtocol))协议。本次我们设计的网络聊天室是基于UDP协议的无连接方式,软件编程则主要使用Winsock提供的API函数

2、。关键字:网络编程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协议,是不可靠的面向无连接的方式。设计的基本原理也就是UDP编程原理。UDP协议是一个简单的面

4、向数据报的传输层协议,又叫用户数据报协议。它提供了无连接的、不可靠的数据传输服务。无连接是指它不像TCP协议那样在通信前先于对方建立连接以确定对方的状态。不可靠是指它直接安装指定的IP地址和端口号将数据包发送出去,如果对方不在线的话数据就可能丢失。UDP协议编程原理如下:2.1服务器端原理(1)创建套节字(socket);(2)绑定IP地址和端口(bind);(3)收发数据(sendto/recvfrom);(4)关闭连接(closesocket)。2.2客户端原理(1)创建套节字(socket);(2)收发数据(sendto/recvfrom);(

5、3)关闭连接(closesocket)。UDP协议用于发送和接收数据的函数是sendto和recvfrom。它们的原形如下:intsendto(SOCKETs,//用于发送数据的套节字ConstcharFAR*buf,//指向发送数据的缓冲区intlen,//要发送数据的长度intflags,//一般指定为0//指向一个包含目标地址和端口号的sockaddr_in结构conststructsockaddr*to,inttolen);//为socket_in的结构大小同样UDP协议接收数据也需要知道通信对端的地址信息。intrecvfrom(SOCKE

6、Ts,charFAR*buf,intlen,intflags,structsockaddrFAR*from,intFAR*fromlen);2.3网络聊天室设计流程该程序设计使用WindowsSockets编程。在数据传输协议中,我们使用UDP协议,UDP协议是无连接的协议,在服务器端不调用listen函数进行监听,也不调用accept函数建立连接,其操作流程图如下图3-2所示:首先,用socket函数建立套接字,然后根据本地的IP进行绑定,然后就可以通过使用send函数和reve函数来进行数据的发送和接收了。利用C语言编写Windows应用程序有两

7、种方式:一种是WindowsC编程方式,另一种是VisualC++编程方式。在一般情况下,VisualC++编程方式编写的程序源代码量小、开发时的工作量小、工作难度也较小,但编译后的代码量较大,运行速度略低;而WindowsC编程方式编写的程序源代码量虽然较大,但可执行代码效率高。随着技术的进步,VisualC++编程方式已被广泛采用,但象网络编程等一些对速度要求高、对硬件操作较多的程序,大多数还是用WindowsC编程方式开发的。另外,学习WindowsC程序设计,还有助于更深入地了解Windows的内幕和WindowsAPI。3实现过程设计数据报

8、方式又称无连接方式,对应的是UDP(UserDatagramProtocol)协议。这种方式不提供数据无错保

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。