zoukankan      html  css  js  c++  java
  • 转:通过 Web IM 传文件

    通过Web IM传文件的这篇文章思路非常好,先保存下来,待我整理思路并开发出来代码后,供各位朋友一起鉴赏。
    ======================================================================
    Pushlets 实现了。保暖思淫欲, 现在我们要通过 Web IM 给其他用户传文件了。
    这在我最新的框架 Eurasia3 中是非常容易的一件事情, 这里简单地描述一下原理。
    当用户点击 "发送文件时", RIA 客户端在浏览器上生成一个上传文件的 "<Form>", 让用户选择上传的文件,
    这样服务器就得到一个普通的文件上传请求, 通常的 CGI 会把文件保存在磁盘上以实现传统的上传功能。
    但是这里, 我们并不把上传的文件放到磁盘上, 而是在内存中开出一个缓冲区,
    当用户上传的内容达到缓冲区空间上限, 他的上行 IO 就阻塞了, 等待缓冲区重新可写。
    与此同时, 服务器向接收文件的目标用户发送一个下载指令, 使他打开一个下载链接,
    下载的内容即是从上传缓冲区中读取的, 当缓冲区读空, 用户的下行 IO 就阻塞了, 等待上传用户补充缓冲区。
    这两者是同时进行的, 形成了一个生产消费模型。
    其结果是, 服务器上并没有真实存在过这个文件, 它只要提供一个几百 K 的缓冲区就可以代理一次 Web IM 的文件传输请求。

    出处:

    http://eishn.blog.163.com/blog/static/6523182007290112332/

  • 相关阅读:
    团队项目
    四则运算
    关于软件工程的问题
    自我介绍
    各种排序
    2017年03月14日 新模块投产日记
    第一发和技术无关的博客
    分享一款好用的PHP下ID混淆插件
    批量抓取cisco设备配置脚本编写(expect/sed/awk/shell)
    ntp/heartbeat/postfix/dns故障处理记录
  • 原文地址:https://www.cnblogs.com/csharpsharper/p/1240407.html
Copyright © 2011-2022 走看看