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

    对比之下,选择方案一。 

  • 相关阅读:
    linux默认的2.7升级到3.7版本
    linux 延时执行——at命令的几种用法
    unittest===unittest 的几种执行方式
    第一本docker书 学习笔记(二)
    第一本docker书 学习笔记(一)
    selenium===使用docker搭建selenium分布式测试环境
    https://www.yunpanjingling.com/
    AndroidManifest.xml权限设置
    XSS注入常用语句
    移动APP安全测试
  • 原文地址:https://www.cnblogs.com/zc22/p/1741729.html
Copyright © 2011-2022 走看看