web IM应用最有前途的技术应该是WebSocket,这是HTML5的新标准,是未来的方向。但据说当前浏览器支持并不是很好。除了WebSocket,还有Server-Sent Events,Polling,Long Polling这些方案。综合考虑浏览器兼容性以及减少带宽消耗,选用Long Polling方案实现。
开始打算选用nginx+php实现。但对于long polling这种服务端会处理大量并发连接的情况,服务端采用事件驱动的异步架构更好些,php对这种异步事件驱动架构支持并不好。考虑到这一点,现在最火的就是nodejs了。其他还有一些lua、python、erlang的webserver也都可以,不过性能上以及社区支持上都没有nodejs好。再加上以前也用过nodejs,第一个版本先用nodejs搭建,如果有问题或者后续有时间,可以使用erlang再写个,用lua和python再写个,分别比较测试一下。
---------------------------------------
很可悲的发现,虽然以前努力学习过javascript,也用过nodejs,不过再看的时候,发现很多东西都忘了。这是以前学习东西后很快就扔掉的后果,也是不沉下心来一直学下去的后果。像lua语言,虽然也已经很久不看了,但很多东西仍然没有忘。为什么?以前学得比较深,专门看了它的编译器、解析器代码实现,专门研究了它没一条语句的底层实现,看到每条语句,自然就知道它后台发生了什么,心里比较踏实,自然就不会忘记了。
反观javascript,实际上一直对语言中的一些操作后台到底做了什么心里没底,实际上就是心里不踏实。而人的记忆对不踏实的东西一向是记不牢的,所以很快就忘了。比如javascript里的new xxx到底做了什么?函数中的this为什么对不同调用对象表现为不同的内容?这些如果看了javascript编译器和解析器的实现,估计就能够印象深刻了。
所以,这两天要抽时间好好研究一下nodejs的源码,否则过段时间很快就又忘掉了。
分享到:
相关推荐
建立一个web形式的即时通讯(IM)系统。这里采用ejabberd作为服务器,JWCHAT作为web客户端。由于jwchat只支持HTTP Binding和http pulling两种方式的链接,所以需要一个提供这两种方式之一的中间件,这里选择的是...
web IM 用异步实现的IM ,界面漂亮
鱼鱼 WEB IM 20090422 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
鱼鱼 WEB IM 20090818 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
鱼鱼 WEB IM 2008-2009 2009-4-16 修改了dll中的1个程序错误 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放...
web im 可以实现在页面上进行最基本的聊天以及视频聊天
基于Vue和Javascript的IM即时聊天Web应用设计源码,该项目包含116个文件,主要文件类型有40个vue前端文件,以及30个javascript文件。此外,还包括22个png图像文件,以及4个jpg图像文件。该项目是一个基于Vue和...
一个asp的IM在线程序,包含了控制端和访问端
AJAX JSON在Web-IM系统中的应用,张刚,詹舒波,即时消息传递正在改变人们的生活。它是一个非常有用的工具,结合了电子邮件、Internet电话以及文件传输应用程序的优点。用户甚至可�
主搞后端开发,前端技术不是很6,望大神勿喷! 环信官网的web-im的整体实现 包括注册登录,加好友,删除好友...环信官网的web-im api是一个巨坑,前端兄弟一脸懵逼,无奈只能帮前端兄弟写这个demo,一阵心酸和泪水~~~~
IM即时通信 网络聊天室
鱼鱼 WEB IM 20090423 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
web端h5,用node+vue+WebSocket实现的即时通讯,群聊。可在线群聊,建群等功能小demo
暗夜 WEB IM 20110326 数据库字段有详细说明 鱼鱼 WEB IM 20090818 本程序版权归暗夜qq240766341、310880211所有, 此程序非经暗夜许可禁止用于商业用途, 作者保留该程序名称、源码等相关权利] [------------...
恩布企业IM,开源企业IM,免费企业即时通讯,企业内部通讯软件,这是恩布互联企业IM的 Web 网页版本,纯 JS 实现,方便企业修改和二次开发。 恩布互联 ENTBOOST 是跨平台、跨应用的实时通讯平台;恩布网络致力于...
本项目是基于PHP的即时通信聊天应用Raingad-IM后端设计源码,包含876个文件,其中主要包含179个png图片文件,168个bcmap字体文件,111个ftl模板文件等。系统采用了PHP、JavaScript、CSS和HTML等技术,实现了即时通信...
基于nutzboot框架,依据开源t-io为通信核心开发的一款IM即时通信工具
Open-IM-PC-Web-Demo-main.zip
实现IM基本功能,并且在细节、完成度、bugfree上媲美任何主流IM应用
跨平台(Android,iOS,web)的 IM 开源项目.zip,荣云Android sdk演示