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

    对比之下,选择方案一。 

  • 相关阅读:
    Python异常处理
    Python中的变量作用域,LEGB规则和闭包原理
    Flask实现RESTful API
    Django中自定义实现RESTful API
    Python中的单例模式
    Flask中实现分页
    面向对象进阶
    Flask部分三方模块的使用
    面向对象基础
    在visual studio中设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件
  • 原文地址:https://www.cnblogs.com/zc22/p/1741729.html
Copyright © 2011-2022 走看看