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系统注重用户体验,不仅实现了功能上的需求,还关注了视觉设计,提供了一个美观的用户界面。这通常意味着开发者可能采用了现代前端框架和库,如React、Vue或Angular,以及...
总的来说,"web-im-1.4.11.zip"包含的Web IM系统是一个全面的实时通信解决方案,涵盖了从基础的文本聊天到高级的视频通话功能,适用于多种应用场景,如在线教育、远程协作、在线客服等。开发者可以通过这个系统快速...
这个项目的核心是利用Web技术来构建一个简单、高效的即时通讯系统,使得用户无需安装额外的应用程序就能进行沟通。 在深入探讨Sparkweb IM即时聊天源码之前,我们首先需要了解一些基本概念: 1. **即时通讯...
基于Vue和Javascript的IM即时聊天Web应用设计源码,该项目包含116个文件,主要文件类型有40个vue前端文件,以及30个javascript文件。此外,还包括22个png图像文件,以及4个jpg图像文件。该项目是一个基于Vue和...
这个“IM-asp.rar”项目提供了一个学习和研究ASP即时通讯实现的实例,对于了解ASP编程和Web应用的实时交互功能具有实践价值。通过分析和修改这个系统,开发者可以进一步提升自己的技能,为自己的Web应用添加类似的...
总的来说,"web-im-master.zip"是一个全面的Web即时通讯系统实例,涵盖了后端开发、前端框架的应用、实时通信技术以及用户体验设计等多个方面,为开发者提供了一个学习和实践的平台。通过深入研究和理解该项目,...
鱼鱼 WEB IM 20090422 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
本文将深入探讨一个基于NutzBoot框架,并利用开源项目T-IO作为通信核心的Web IM即时通信工具。我们将从系统架构、主要技术选型、核心功能实现以及优化策略等方面进行详尽阐述。 一、系统架构 这款IM即时通信系统...
鱼鱼 WEB IM 20090818 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
鱼鱼 WEB IM 2008-2009 2009-4-16 修改了dll中的1个程序错误 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放...
腾讯云IM Web SDK是腾讯云提供的即时通讯解决方案的一部分,专为Web应用设计,允许开发者轻松地在网页上集成聊天功能。这个SDK遵循了eslint代码规范,确保了代码质量与可维护性,非常适合基于Node.js环境的开发工作...
在这个Web IM项目中,ASP被用来处理用户的各种请求,如登录验证、数据存储和检索、好友管理等。开发者通过编写ASP脚本,与Access数据库交互,实现用户的注册、登录、好友关系管理等功能。 二、Access 数据库 Access...
"rongcloud-web-im-widget-master" 是一个开源项目,主要针对融云(RongCloud)的Web即时通讯(IM)组件的源代码库。融云是一家提供全面通信解决方案的云服务提供商,其Web IM Widget是为网页应用设计的一款聊天组件...
这款软件不仅提供了基本的聊天功能,还具有诸多可扩展性和自定义性,为Web应用添加实时通信功能提供了一个优秀的解决方案。 首先,让我们了解一下“iWeb_IM”的核心组件——PHP。PHP是一种广泛使用的开源脚本语言,...
首先,从标题来看,“imim.zip_imim-user-194177_imim-user-237221_imim-user-444202_imim”可能是用户ID的组合,暗示这可能是一个社区共享的代码资源,由多个用户参与讨论或改进。其中,“imim”可能是项目名或特定...
这款Demo适用于那些希望在自己的Web应用或微信小程序中集成实时通信功能的开发团队。通过环信Web-IM Demo,开发者可以快速了解并掌握如何在实际项目中实施聊天功能。 环信是一家专注于即时通讯云服务的公司,其Web-...
这个项目可能包含了实现Web应用的各种技术和组件,特别是与实时通讯有关的部分,因为"im"通常代表即时通讯(Instant Messaging)。 【描述】中的重复内容"Web-mianshi-imWeb-mianshi-imWeb-mianshi-imWeb-mianshi-...
本项目是基于PHP的即时通信聊天应用Raingad-IM后端设计源码,包含876个文件,其中主要包含179个png图片文件,168个bcmap字体文件,111个ftl模板文件等。系统采用了PHP、JavaScript、CSS和HTML等技术,实现了即时通信...