使用QT开发即时通信IM的感慨......
先上一个基本的界面,这个界面还差一些修正就可以了!
在开发IM的过程中,遇到了不少问题,幸好学习QT有一年多了,不然很多问题都不知道怎么解决!
在开发程序的过程中,最大的感慨就是有时候遇到问题,经常百度google好久都没有找到答案的事!
QT的用户还是不少的,至少很多问题都能找到答案,加上还有文档和电子书,学习起来还是相对好很多的!
不过boost的asio就没那么好学了,当然asio也不是很难! asio也有文档,但是对于不怎么会英文的人来说,真的太痛苦了!
现在我在开发IM的后台,在网络通信这块卡了好久!开始的时候,想用用ACE,结果学来学去学得头都大了,
于是转向libevent,后来又发现boost下的asio网络库,于是就选用asiob ,asio相对来说还是不错的,不过就是要学习的细节还有不少!(目前最担心的是出了问题,怕自己没能力解决!)
相对来说,另一个东东就简单多了,那就是Zeromq,不过这个东东不兼容tcp/udp协议,真的很可惜!
现在我做法是,客户端:QT开发界面,asio做通信层,sqlite做本地数据库,cryptopp用来加密解密数据!
服务端:asio做通信层,mysql为数据库,cryptopp用来加密解密数据,由于后端要做分布+集群,所以zeromq可以考虑用一下!
如果对相关技术有兴趣或者正在从事相关工作的朋友,欢迎一起交流下!
如果你有QT相关的问题,可以回贴提问,我可以解决的,我尽量回答.......
当然更欢迎大家加我QQ群一起交流下!
云计算交流QQ群:194268309
网络编程QQ群:49184341
QT/C/C++交流QQ群:232311477
这几个群都有不少人了,欢迎大家加群共同交流下!
[解决办法]
以前有一个叫Linq的 基于QT做的xmpp客户端 风格类似老版本的MSN
zeromq没用过 是zero message queue?
[解决办法]
PS
libevent还是很强大的
asio的优点在于文档详细
[解决办法]
ICE怎么样?
[解决办法]
说句额外的 我觉得c++不适合做分布式开发
或者说用C/C++做分布式开发的成本比较低
目前很多做云的貌似 都是业务用python管理 底层一些关乎性能的地方用c++
做IM的可能erLang这样的面向并发的编程更合适
[解决办法]
支持楼主,挺好,值得学习。