应用QT开发即时通信IM的感慨.

使用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?

------其他解决方案--------------------
说句额外的 我觉得c++不适合做分布式开发
或者说用C/C++做分布式开发的成本比较低
目前很多做云的貌似 都是业务用python管理 底层一些关乎性能的地方用c++
做IM的可能erLang这样的面向并发的编程更合适
------其他解决方案--------------------
支持楼主,挺好,值得学习。
------其他解决方案--------------------
PS 
libevent还是很强大的
asio的优点在于文档详细
------其他解决方案--------------------
ICE怎么样?
------其他解决方案--------------------
打错了 
是用C++开发成本比较高

------其他解决方案--------------------
引用:
以前有一个叫Linq的 基于QT做的xmpp客户端 风格类似老版本的MSN
zeromq没用过 是zero message queue?

客户端开发倒不是太难,而且花时间去看别人的代码,都有可以自己开发一个了!
zeromq.org 楼主有时间可以了解下,真的很不错


引用:
PS 
libevent还是很强大的
asio的优点在于文档详细


我非常认同,后期有时间,有可能把asio换下来,用libevent......
------其他解决方案--------------------
引用:
ICE怎么样?

ICE没用过,不知道怎么样,但是我学过ACE,真的相当不错,学习可以,但是用在实际项目中,对我来说难以驾驭.....

引用:
说句额外的 我觉得c++不适合做分布式开发
或者说用C/C++做分布式开发的成本比较低
目前很多做云的貌似 都是业务用python管理 底层一些关乎性能的地方用c++
做IM的可能erLang这样的面向并发的编程更合适

非常同意,C/C++的开发成本有点高,python做业务真的是很多人的做法,不过怎么说呢,对python不感冒啊!
以后有可能用到这些脚本语言,但是现在还没用到,暂时不考虑......呵呵...