如何搭建一个自己的IM即时通讯聊天软件?

MyIM是一款全新的即时通讯工具,成功的实现了对QQ、MSN、ICQ、Yahoo四大即时通讯协议的支持,可以说它的发展前景是很巨大的。MyIM自从去年推出了测试版以后,我就一直都在关注它的发展,觉得它的设计思路挺不错的,在今年9月1日终于看到它推出的正式版。作为一个MyIM的超级Fans,我相信会有越来越多的朋友喜欢MyIM,并和我一样成为MyIM的忠实用户。但是,由于软件是刚刚出来不久的,相信广大MyIM新用户对它还是很陌生的,我愿意分享自己的MyIM之旅给大家,让我们一起进入MyIM的自由通讯世界。

    下载安装的过程我就不说了,网上随便搜索一下MyIM就可以找到它的安装程序,我们从安装完开始。在安装完MyIM后,我们就开始进入MyIM的自由通讯世界:

    第一步:安装软件,并成功注册。弹出下面的窗口(图1):

1、点击下一步,继续导入QQ数据:(见图3)

    导入这些数据以后,再点击下一步就可以导入其他的IM(MSN等)数据了。MyIM是一个独立性的软文,并不是说安装完了MyIM就一定要导入QQ的数据。MyIM在设计的时候考虑到用户的转换问题,因此开发了支持数据的功能,让用户可以在MyIM上面使用QQ,保留它原来的聊天记录等所有数据。

2、点击跳过,取消导入QQ数据,直接进入导入MSN数据的窗口(图4)

    点击跳过的话,那么MyIM就不会导入任何的QQ数据。到时候用户可以在账号管理器上面添加新的QQ账号,但是这样的话,就等于说一切从0开始了。QQ不会有任何的原始数据。

在导入QQ的时候选择跳过,MyIM就会跳转到导入MSN账号的画面上(如下图4)。跟导入QQ数据的操作一样,输入自己的账号和密码按下一步就OK了。选择跳过的话,到时候可以在帐户管理器上面添加自己的MSN账号。

4、选择自己喜欢的使用风格:

    点击下一步的话,会出现一个使用风格的画面(如下图5),选择自己喜欢的使用风格,然后点击“完成”就可以退出设置向导了。

    点击“添加新用户”,出现一个添加新用户的界面(图7):

    用户可以在这里添加各种不同协议的聊天账号。在选择服务类型的地方,网友选择所要添加的即时通讯软件种类。譬如要在MyIM中登录你的QQ号码123456。选择服务类型QQ,输入QQ号码123456,相关密码,接下来是登录类型和是否保存密码选择,这个地方足见MyIM设计之细致,相信QQ登录细节也不过如此。至于保存密码这一项,MyIM更是“体贴入微”,可以将密码保存到本地机器或者在线服务器。使用内网的网友需要设置代理服务器这一项。

    添加完成后,点击登录,便可看到你所登录的QQ帐户出现在MyIM主界面QQ专栏上面。出现(图8)的MyIM主界面。在MyIM中可以同时登录多个QQ、MSN、yahoo、ICQ帐户,它们的添加过程和添加QQ的道理一样。MyIM创造了国内首个真正支持多个不同聊天工具,更多的聊天帐户在一起使用的沟通平台,在它上面我们可以添加多个QQ、MSN等聊天工具的帐户,实现在一个窗口中和不同的好友进行交流,极大的方便了我们在网络上的沟通。下一章就让我来继续带领大家畅游MyIM的自由通讯世界吧(未完待续)  

系统设计经典题:手把手教你搭建一个IM(即时通讯) 系统

OICQ这款聊天工具不知大家是否熟悉,1999年诞生于深圳,通过熟人关系的快速构建,在一票基于陌生人关系的网络聊天室中脱颖而出,逐渐成为国内社交网络的巨头。

没错,它就是QQ的前身,在之后的数年里,腾讯正是通过不断优化升级IM相关的功能和架构,凭借QQ和微信这两大IM工具,牢牢控制了强关系领域的社交圈。

由此可见,IM技术作为互联网实时互动场景的底层架构,在整个互动生态圈的价值斐然

随着互联网的发展,人们对于实时互动的要求越来越高。于是,IM技术不止应用于QQ、微信这样的面向聊天的软件,它其实有着宽广的应用场景和足够有想象力的前景。甚至在不知不觉之间,IM系统已经根植于我们的互联网生活中,成为各大App必不可少的模块。

       从图中可以看到,IM发展至今,它并不是一门仅限于聊天、社交的技术,实际上已经广泛运用于我们身边形形色色的软件中。

国内的网络应用软件目前发展极为火爆,因为我国有着网络应用的最大市场随着5G等高速移动网络技术的快速推进,网络速度和稳定性大幅提升、网络流量费用降低,势必今后还会有越来越多的软件依托实时消息的优势理念加入到IM的大家庭中来。

毕竟谁不希望所有互动都能“实时触达”而且“安全可靠”呢?这也就意味着,5G时代全面来临时,懂IM的程序员意味着更多的就业机会和更开阔的发展前景。

然而我们要打造一套“实时、安全、稳定”的IM系统,是需要深入思考很多个地方的,尤其是作为整个实时互动业务的基础设施,扩展性、可用性、安全性等方面都需要有较高的保障。比如:

  • 某个明星忽然开直播了,在线用户数和消息数瞬间暴涨,该如何应对?

  • 弱网情况下,怎么解决消息收发失败的问题,提升消息到达率?

  • 如何避免敏感聊天内容由于网络劫持而泄露?

诸如此类的问题可能有很多种解决方案,但是对于不同的场景适用的方案可能也不一样。

另外现在互联网公司在面试的时候很多要考察系统设计能力,它不像算法那么晦涩难懂,但构建IM作为系统设计里面的常见题目,也是后端程序员必须要掌握的。

内容侵权 涉嫌营销 内容抄袭 违法信息 其他

已经收到您得举报信息,我们会尽快审核

我要回帖

更多关于 即时通讯im 的文章