Pushlets 实现了。保暖思淫欲, 现在我们要通过 Web IM 给其他用户传文件了。
这在我最新的框架 Eurasia3 中是非常容易的一件事情, 这里简单地描述一下原理。
当用户点击 "发送文件时", RIA 客户端在浏览器上生成一个上传文件的 "<Form>", 让用户选择上传的文件,
这样服务器就得到一个普通的文件上传请求, 通常的 CGI 会把文件保存在磁盘上以实现传统的上传功能。
但是这里, 我们并不把上传的文件放到磁盘上, 而是在内存中开出一个缓冲区,
当用户上传的内容达到缓冲区空间上限, 他的上行 IO 就阻塞了, 等待缓冲区重新可写。
与此同时, 服务器向接收文件的目标用户发送一个下载指令, 使他打开一个下载链接,
下载的内容即是从上传缓冲区中读取的, 当缓冲区读空, 用户的下行 IO 就阻塞了, 等待上传用户补充缓冲区。
这两者是同时进行的, 形成了一个生产消费模型。
其结果是, 服务器上并没有真实存在过这个文件, 它只要提供一个几百 K 的缓冲区就可以代理一次 Web IM 的文件传输请求。
出处:
http://eishn.blog.163.com/blog/static/6523182007290112332/
分享到:
相关推荐
鱼鱼 WEB IM 20090422 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
环信官网的web-im的整体实现 包括注册登录,加好友,删除好友,聊天,文字图片等消息的发送实现,具体请下载文件查看…… 环信官网的web-im api是一个巨坑,前端兄弟一脸懵逼,无奈只能帮前端兄弟写这个demo,一阵...
鱼鱼 WEB IM 2008-2009 2009-4-16 修改了dll中的1个程序错误 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放...
只要有浏览器就可以进行聊天,不含传送文件和视频聊天的功能
请添加DISCUZ未有的表,另本贴下载的文件仅适合DISCUZ 6 .0版本,6.1版本将在下一贴中释放,或者可以关注http://snowyrock.spaces.live.com/<br>下载说明: 请自觉回帖后下载,因为可能更多的人需要这个IM,为给...
鱼鱼 WEB IM 20090423 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
鱼鱼 WEB IM 20090818 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
鱼鱼 WEB IM 2008-2009 本程序版权归鱼鱼qq260332019所有, 此程序非经鱼鱼许可禁止用于商业用途, 作者保留该程序名称、源码的所有相关权利] 源码没有丝毫保留,全部开放提供,请大家多提修改意见. 源码没有丝毫...
暗夜 WEB IM 20110326 数据库字段有详细说明 鱼鱼 WEB IM 20090818 本程序版权归暗夜qq240766341、310880211所有, 此程序非经暗夜许可禁止用于商业用途, 作者保留该程序名称、源码等相关权利] [------------...
2024最新仿默往IM即时通讯系统源码(PC+WEB+IOS+Android)客户端 系统功能配置灵活、海量并发、稳定可靠、数据安全,2小时快速部署、数据安全、单聊群聊、系统通知等通信功能,支持App、PC、Web等多端快速接入。 群...
基于Vue和Javascript的IM即时聊天Web应用设计源码,该项目包含116个文件,主要文件类型有40个vue前端文件,以及30个javascript文件。此外,还包括22个png图像文件,以及4个jpg图像文件。该项目是一个基于Vue和...
AJAX JSON在Web-IM系统中的应用,张刚,詹舒波,即时消息传递正在改变人们的生活。它是一个非常有用的工具,结合了电子邮件、Internet电话以及文件传输应用程序的优点。用户甚至可�
本项目是基于PHP的即时通信聊天应用Raingad-IM后端设计源码,包含876个文件,其中主要包含179个png图片文件,168个bcmap字体文件,111个ftl模板文件等。系统采用了PHP、JavaScript、CSS和HTML等技术,实现了即时通信...
拥有对 Android, iOS,和Web 最好 IM app 之一(特别是应对糟糕的网络连接状态,它支持完全离线的消息和文件存储,自动创建联系人列表,希望对正在做IM的童鞋有帮助).zip,演员信息平台
后端采用springboot+netty实现,web端使用vue,移动端使用uniapp,支持私聊、群聊、离线消息、发送图片、文件、语音、emoji表情、视频聊天等功能。盒子IM是一个仿微信实现的网页版聊天软件,不依赖任何第三方收费...
imsdk-web-sdk IMSDK Web SDK,由爱萌科技官方维护 概述 IMSDK Web SDK V1 版本,使用传统的 ajax long polling 的方式,兼容更多版本浏览器。 通过 Web SDK 可以方便实现注册、登录、收发消息 新手上路 一、获取 ...
IMChat是一款基于Ajax无刷新技术的在线web聊天室 IMChat v.15 采用成熟JS框架,兼容各种主流浏览器,建议使用 firefox > chrome > IE v1.5 ASP版采用ASP AJAX ACCESS 可完美整合现有ASP,ASP.NET网站 整合包和整合...
IMChat是一款基于Ajax无刷新技术的在线web聊天室。 ImChat v1.53 更新说明 1.新增房间功能(支持锁定,最大人数,房间公告) 2.新增后台房间管理 3.修复在线用户中"所有人"双击问题 4.修复IE下Ctrl+enter快捷键失效...
Rocket.Chat 通过 hubot 集成了非常流行的服务,比如 GitHub,GitLab,Confluence,JIRA 等等。高级的特性包括:OTR 消息,XMPP 多用户聊天,Kerberos 认证,p2p 文件分享等等。技术特性使用 Meteor,包括 Blaze ...
1.解压缩源代码,搭建Web网站 然后修改 Client\bin\Debug 和 Client\bin\Release 路径下的 Setting.conf 中的路径 2.在将要嵌入WebIM的页面中添加一下引用: <script src</span><span style="/Lesktop/2.0.2.0/...