visual_c++网络编程技术-04

visual_c++网络编程技术-04

ID:33622740

大小:593.51 KB

页数:19页

时间:2019-02-27

visual_c++网络编程技术-04_第1页
visual_c++网络编程技术-04_第2页
visual_c++网络编程技术-04_第3页
visual_c++网络编程技术-04_第4页
visual_c++网络编程技术-04_第5页
资源描述:

《visual_c++网络编程技术-04》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、简易聊天室授课教师:网络编程——导入在电子教室软件系统中,教师经常需要根据课程内容将学生分组,每个小组完成一个任务。每个小组的小组成员之间需要进行讨论,所以需要有一个简单的聊天室功能,使多个成员之间可以很方便的进行沟通和交流。本章我们就通过一个简单的聊天室程序,来介绍一下使用UDP协议进行通信的相关技术。本章要点聊天室功能分析设计WinSock实现UDP通信CSocket类实现UDP通信聊天室开发功能需求分析聊天室服务器功能:启动一个新的聊天室。能记录所有登录的聊天者信息。能接收聊天者程序发来的聊天信息,并显示到界面上。能把一

2、个聊天者发来的信息发送给所有其他聊天者。聊天者程序功能:能登录到聊天室服务器。能发送聊天信息给聊天室服务器。能接收服务器发回的其他人的聊天信息,并显示在自己的界面上。界面设计关键技术分析聊天室的核心功能就是多个点之间的数据传递本章讲解另一种面向非连接的基于UDP协议的socket通信技术来实现聊天室实例面向非连接的通信“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就可以了。UDP(UserDataProtocol,用户数据报协议)

3、是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。UDP通信流程图核心程序实现发送和接收的的数据包的定义structMEG{intcode;//包的编号chardata[500];//数据内容}Meg;code:数据包的编号data:要传输的数据核心程序——发送UDP数据包voidCSendUDPDlg::OnSend(){UpdateData(true);structMEG//发送数据对象的定义{intcode;//包的编码chardata[500];}Meg;CSocketm_S

4、endSocket;//构造一个套接字对象Meg.code=1;strcpy(Meg.data,m_message);//发送数据的初始化intport=8888;//对方的监听端口m_SendSocket.Create(6666,SOCK_DGRAM);//创建一个套接字句柄(UDP)m_SendSocket.SendTo(&Meg,sizeof(Meg),port,m_ip);m_SendSocket.Close();}核心程序——接收UDP数据包voidCReceiveUDPDlg::OnServer(){structM

5、EG{intcode;//包的编码chardata[500];}*pMeg;CSocketm_ReceiveSocket;//构造一个套接字对象char*buff[512];m_ReceiveSocket.Create(8888,SOCK_DGRAM);m_ReceiveSocket.Receive(buff,512);pMeg=(structMEG*)buff;//非常关键m_show.AddString(pMeg->data);m_ReceiveSocket.Close();}程序扩展——实现点对点聊天接收对方聊天信息功能

6、流程程序扩展——实现聊天室聊天室程序设计的思路是由一个服务器端程序和一个聊天者端程序组成。服务器端程序主要负责记录所有进入本聊天室的聊天者的IP地址,并且接收所有聊天者的信息,将每个聊天者发来的信息转发给所有聊天者。聊天者程序可以发送聊天信息给服务器,同时可以接收服务器发送回来的信息,并显示到聊天记录界面上。聊天室服务器端程序主要功能:(1)记录所有进入本聊天室的聊天者IP(以便转发其他聊天者的聊天信息)。(2)启动一个子线程,用于接收聊天者数据包。(3)接到数据包,取出IP地址,存入聊天者列表(重复的不要)。(4)将接收到的

7、聊天信息转发给聊天者列表中的每个聊天者。(5)将接收到的聊天信息添加到界面的列表控件中。聊天室服务器功能流程聊天者程序功能:(1)进入聊天室,发送数据包给聊天室服务器。(2)接收服务器发送回来的信息,并显示到聊天记录界面上。实现代码详见教材本章技能训练实例题目一:将第一章的扫描可控计算机程序改为用UDP协议的通信技术实现。题目二:将前一章的网络考试报名系统改为基于UDP协议的通信技术实现。题目三:模仿QQ群的模式,给你的几个好朋友建立一个共用的聊天群。可以几个人一起讨论需求和设计,在本章的简易聊天室程序基础上完善和开发,完成这

8、个小应用软件,并在实际使用过程中测试它。ThankYou!

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

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

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