zoukankan      html  css  js  c++  java
  • messageflow 本地和网站客户端之间传送文件设计 手稿

    如何解决区分内部用户、外部用户?

    案例:

    发送文件,如果是内部用户,直接发送command、如果是外部用户则发送url

    --------------

    内部用户之间发送文件:a-b

    a-b发送传输的command,messageid=1, 压入callback
    b 链接comet
    b-a 发送succeed,messageid=1
    a调用回调callback,启动发送文件


    -----------------------
    方案一:
    A::
    a发送一个url,指出sendercode = 1, receivercode = 2
    a启动getCometMessage侦听sendercode = 1,等待回复
    b链接url, 向sendercode = 1发送通道信息 code = 3,同时进入等待(GetCometTempMessage, sendercode = 3)
    a收到信息后,发送文件, postmessage, sendercode = 1, receivercode = 3

    这种策略下,不需要修改任何的代码。

    ------------------------

    方案二: 

    A::
    a发送一个command,内容是一个url,指出sendercode = 1, receivercode = 2,同时压入回调堆栈
    b链接url, 通过nonprotocolmessage发送一个commandsucceed,包含了messageid/guid/结果
    b同时进入等待(GetCometTempMessage, sendercode = 2)
    a收到回调后,发送文件, postmessage, sendercode = 1, receivercode = 2

    ------------------------

    方案一:

    1. 双方传送的message需要符合一定的规则。但是这个和messageflow无关,因为直接交给了comet了。 

    方案二:

    1. 需要扩展nonprotocol接口

    2. 对sendcommand的封装需要修改,因为需要让网站提取guid/messageid

    对比之下,选择方案一。 

  • 相关阅读:
    MVC、MVP、MVVM架构模式
    JavaScript中的跨域详解(二)
    JavaScript中的跨域详解(一)
    RESTful基础知识
    Date类
    数据的相对比较
    递归应用
    浏览器在一次 HTTP 请求中,需要传输一个 4097 字节的文本数据给服务端,可以采用那些方式?
    【04】图解JSON
    【08】css sprite是什么,有什么优缺点
  • 原文地址:https://www.cnblogs.com/zc22/p/1741729.html
Copyright © 2011-2022 走看看