基于Qt的P2P局域网聊天及文件传送软件设计 zouxy09@qq.com http://blog.csdn.net/zouxy09         这是我的<通信网络>的课程设计作业,之前没怎么学过Qt,但Qt实在太好用了,它提供的网络通信的接口使用起来很方便,所以搞这东西才花了几天时间,现在摆上来和大家分享下.呵呵.另外,下面不会解释具体的代码实现过程(需要有一点点的Qt基础和Qt网络编程基础),在工程的代码文件中会有清晰的注释. 工程代码下载地址:(在CSDN中,我的下载积分是0,穷苦很…
一.EPOLL的优点 在Linux中,select/poll/epoll是I/O多路复用的三种方式,epoll是Linux系统上独有的高效率I/O多路复用方式,区别于select/poll.先说select/poll的缺点,以体现epoll的优点. select: (1)可监听的socket受到限制,在32位的系统中,默认最大值为1024. (2)采用轮询方式,当要监听的sock数量很大时,效率低. (3)随着要监听socket数据的增加,要维护一个存放大量fd的数据结构,系统开销太大. pol…
本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验.现在的窗口设计基本都是扁平化的,你可以从window XP与window 8的窗口可以明显感觉出来.当然除了窗口本身的效果,窗口中各种控件的特效也是特别重要的一环.下面讲讲我在词典软件中的一些设计:说到界面美化的设计,不得不提到美工,一个好的美工是相当的重要!软件毕竟少不了图标,而不懂美工的我,也就只能在网上使用别人的图标了. 如何得到网上的图标?    直接百度就可以了,当然还有另一种方法:就是从别人的文件中提取这些图标文…
去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东西都不熟悉了.恰逢这学期课比较少,于是乎想写写关于这个软件制作的一系列文章,对日后重拾该软件时能够较快入手.当然,也非常乐意读者们在该软件的基础上添加一些功能,源代码会在该系列文章写完之后公布.可运行的词典软件的下载地址:http://download.csdn.net/detail/tengweitw/85…
任务目标 聊天器采用客户端/服务器(C/S)模式: 客户端利用UDP与服务器相连,客户端与客户端之间通过UDP相互通信: 服务器端具有服务器端口设置维护客户端个人信息,记录客户端状态,分配账号等: 客户端具有服务器地址及端口设置,用户注册,用户登陆,添加好友和删除好友,查看好友信息,给好友发送消息等功能: 服务器与客户端间.客户端之间的交互采用控制台方式或GUI窗口方式均可: 完成情况 采用了客户器/服务器模式,实现了基于UDP客户端之间的相互通信,其优点有:在服务器端具有维护客户端个人信息,记…
具备注册账号,群聊,查看在线人员信息,私发文件和接收文件功能,因为每个客户端只有一个属于自己的socket,所以无论客户端是发聊天消息还是文件都是通过这一个socket发送, 这也意味着服务器收发任何消息或文件都只能有一个select函数也意味着只能有一个收发消息的线程. 所以我定义了一个通用结构体: struct snd{ char msg[30];    //消息性质,同时也是普通聊天消息.. int soc;        //套接字 int count;        //用户账号 ch…
近期在写IM 聊天界面,想设计出一个类似QQ气泡聊天的样式 使用了几种办法 1:使用Qt以下的QListview来实现QQ类似效果.差强人意 2:使用QWebview载入html css样式来完毕.发现效果不错,可是毕竟webview占用巨大的内存 3:使用QTextBrower载入css,可是好像仅仅支持css2.1版本号,css3全然不支持,这种话,花哨的样式应该是无法实现 基于以上三种思路 最后发现还是QML实现比較好,可是qml基于文本与动绘图片混合显示没找到好的办法.有好的办法的希望能…
代码地址如下:http://www.demodashi.com/demo/12057.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1. 开发环境 1.1 开发工具 IDE:AndroidStudio 2.3 语言:java jdk1.8 最低支持:Android4.1以上 1.2 测试环境 实测: 红米4(android 6.0.1) 红米Note5A(android 7.1.2) 测试完美运行. 实现了两台Android设备在同一局域网内通过UDP进行实时…
在上章37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面.UDP校验登录.皮肤更换.3D旋转),我们已经实现了: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登录界面之间切换) . 所以本章实现: 2.支持拖动和更改窗口大小. 3.可以单独聊天.也可以在聊天室所有人聊天. 4.支持收发gif表情包(支持粘贴复制). 5.自动刷新当前好友在线人数等. 1.界面展示 界面布局如下所示: 界面截图如下所示: 效果图如下所示: 有点大,可能加载不了,不过已经上传到…
1 目的   想复习一下TCP/IP协议,再结合一下以前学的Qt的知识,加上前段时间学的MySQL数据库操作,所以写了个"仿QQ局域网聊天软件"小项目,只实现了一部分功能,还没写完,后面的功能后面慢慢加,毕竟一口也吃不成胖子. 2 总体设计 2.1 下载链接   github下载地址: https://github.com/confidentFeng/Qt-Project/tree/master 2.2 开发环境   VS2013 + Qt5.11.2 + QtDesigner.MyS…