QT实现的基于TCP Socket的共享白板

Scavengers

发布日期: 2018-11-06 13:11:51 浏览量: 321
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、课程设计题目

共享白板:实现基于服务器转发的多点间的文字、简单图案等信息的实时共享。

二、实验要求

类似于共享电子白板系统,是一个服务器端和多个同步的客户端进行信息交流的过程。在服务器端,我们记录加入服务器要通过该服务器进行信息共享的白板的相应的IP信息以及它们相应的动作;在客户端,我们通过连接相应的服务器,在客户端白板进行简单图案的绘画操作就可以在多个加入服务器的客户端实现图案的共享。

三、实验任务和目的

通过计算机网络的课程设计,使学生了解、掌握TCP、UDP协议的原理;了解、掌握利用Winsock API编程的方法;了解、掌握应用协议设计的思想;利用Winsock API编制一个能部署在Internet上的共享白板。

四、需求分析

本次课程设计的目的是设计一个能部署在Internet上的共享白板。顾名思义,共享白板意即要实现信息的共享,能够实时地将一客户端的信息与其他客户端的信息进行交换,对其它客户端的行为能够做出及时的响应。当今,共享白板的应用时非常广泛的,用的最多的应该就是远程网络白板的共享了,这项技术的应用,我们可以实现远程教学,最大限度地使教育资源得到共享,帮助贫困地区的学生们也能够享受高质量、名师的优质教育资源。在此次课程设计中,我们模拟了共享电子白板系统,初步实现了共享白板的功能,达到了预期目标。

本次课程设计我们通过运用所学知识,融合网络编程的相关知识达到此次课程设计的要求。我们用C++ GUI Qt4 编程来进行设计实现。

五、总体设计

5.1 数据报文设计

数据结构

枚举型名称
shape line,circle,rectangle,ellipse
opInfo conn,disconn,painted
属性 类型
x int
y int

帧格式

  • 客户端收到此种帧结构,则进行绘画

  • 服务端收到此种帧结构,则将其分发给各个已连接的客户端

5.2 流程图

客户端

服务端

六、运行中部分截图

启动服务器效果图

客户端界面

输入服务器IP地址

白板共享效果图(测试打开3个客户端)

七、系统实现编码

数据报文结构

  1. //dataStruct.h
  2. #ifndef DATASTRUCT_H
  3. #define DATASTRUCT_H
  4. enum{line,circle,rectangle,ellipse};//各种形状
  5. enum{conn,disconn,painted};//是接入请求,还是画图
  6. class netAddr
  7. {
  8. public:
  9. unsigned char srcIP[4];
  10. unsigned char desIP[4];
  11. };
  12. class Point
  13. {
  14. public:
  15. int x;
  16. int y;
  17. };
  18. class userOp
  19. {
  20. public:
  21. int opKind;
  22. Point startPoint;
  23. Point endPoint;
  24. };
  25. class messageStruct
  26. {
  27. public:
  28. netAddr messageHeader;
  29. userOp userOpInfo;
  30. };
  31. #endif

八、参考文献

[1] 《计算机网络》第4版. 谢希仁. 电子工业出版社. 2003年.6月

[2] 用TCP/IP进行网络互联(第一卷) D.E.Comer 电子工业出版社. 2004年.11月第四版

[3] TCP/IP网络原理与技术. 周明天, 汪文勇: 清华大学出版社: 1993

上传的附件 cloud_download QT实现的基于TCP Socket的共享白板.7z ( 2.80mb, 12次下载 )
error_outline 下载需要5点积分

发送私信

坚持了才叫梦想,放弃了就只是妄想

8
文章数
24
评论数
最近文章
eject