RAR 协议- 探针协议 - Java教程

      最后更新:2022-01-09 07:01

      请求-行动-答复协定也称为请求-行动-答复协定。它是使用请求-行动-反省的基本模式互联网通信协议。这是一项以TCP议定书为基础的遥远的通信议定书。用于远程数据请求和操作。它最初的目的是在互联网和工业控制领域提供高质量的解决办法。

      首先,有典型的TCP通信。


      对于TCP协议,缓存的数据类型是字节 。当客户向服务机构提交数据时,服务器不承认字节的含义 。这就需要提前约定,比如第几位,这意味着什么?这种参与的好处在于它迅速而简单。 示意图:

      client -> |44|15|32|54|21| -> Server

      缺点也非常明显,程序可读性非常低。需要一份全面的文件。每个价值事先确定。 开发的过程中,需要不断查文档,理解信号的意义如果另一个人生长,上手非常缓慢,开发效率低。程序的耦合度高,不利于团队协作。

      其次,还有《http协议》。


      协议在申请一级。它比TCP效率低。然而,由于它预先确定了两个传播伙伴之间协定的格式,服务端拿到数据后,当天结束时,决定按照先前的商定,将请求送交http.org。引擎处理后就解决了提供答复。一个基本的 http 消息看起来是这样的:

      GET / HTTP/1.1
      Host: 127.0.0.1:3372
      User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
      Accept: text/html,application/xhtml+xml,application/xml;
      Accept-Encoding: gzip, deflate, br
      Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6


      Get, post, HEAD, PUT, 设计, 选择, TRACE, 和连接 用于请求 HTTP 协议。最普遍的情况是获得职位和职位。 当使用get时,数据被放在指定信头位置中。 比如
      http://www.baidu.com/s?wd=http


      当有多个参数时,用&分割不同参数。示例:?a=test&b=whoami


      参数只能是基本类型,如字符串,它们被转移到服务端,并被解析到基本类型。如果您想要发送json对象,则必须使用邮箱方法。

      另一方面,员额办法需要两份来文。
      客户第一次向服务器发出头信息请求, 类似于发送 Get 方法软件包。 服务器回复200, 客户再次发送其他机体组件。 例如 :
      {"name":"tom","sex":"male"}
      这是完成它的唯一方法。有其根源。http 协议是已经预先界定的基本格式 。信息只能在服务端以商定格式接收。当你把它送去时,它无法确认这一格式。 所以,只有 http 头条信息可以提前发送 。请求的 URL 最初由服务器获取 。进行路由,视路线的独特方法而定要获得该函数,请提供输入参数的类型。确定即将出现的员额的数据格式。然后,无法删除文件夹“{0}”。 这实际上,从服务器到客户端有两种顺序和反顺序。为使TCP协议立即全部定稿,通信需要两个人的参与。
      虽然其流程非常易读,并交付给物体,但它降低了通信效率,限制了服务器的负荷能力。


      第三项议定书是RAR议定书,有时称为探查议定书。


      探测协议结合了两种通信方法的好处。又做了改进。首先,它向JSON天体发送数据。在编程时,它可能立即被反制成物体。它消除了具有非常串通性的基本TCP协议的缺点。 同时,它只需要一次传输,您可以将所有数据传输到服务器。示例:
      {"_":23,"~rq":true,"~s":51456,"~_":"29f551ee-ddcb-4a52-9cec-43f7518ba137","~ip":null,"~l":null,"n":"tom","p":null}
      其实施背后的想法是带头部分审查文件的头条。 例如,在这种情况下,提出并分析,“_ ” : 23。
      检索其索引值, 并使用它们查找匹配的请求和动作对象。 然后, 数据按请求的反顺序排列, 处理请求, 并向客户发送回复 。
      探测协议提到,它首先解剖头部的指数,并可作为探测器扫描。


      四. 按照调查协议拟订方案


      使用探针协议,然后,必须保证探测协议的结构。和Mvc结构相似您需要做的只是写下服务器活动的内容 并响应客户的要求此外,对于远距离通信和测序碎片,由框架完成。这使开发商能够专注于商业逻辑。而不是通信机制。
      以下是服务器终端动作的例子:

          [SysAct(Act = SysAction.Close, RequestType = typeof(Request), ReturnType = typeof(Response))]
          class CloseAction: ActionBase
          {
              public override Response Execute()
              {
                  Session.Clear();
                  Response response = new Response();
                  response.Code = SysAction.Close;
                  return response;
              }
          }


      必须在类的头部,添加一项财产,表示行动组的索引值,请求的类型,返回类型。必须更新执行方法。这样,这些选项可用于服务器端 。构建其一张表,设置行动索引和特定分类。相应的请求和答复类别是相互联系的。


      其客户端示例如下:

                  NetUIClient.Main.CallServer<SysSearchResponse>(SysAction.SysSearch, request,
                      (response) => {
                  if (response != null && response.Result != null)
                  {
                      //todo something
                  } });        

      定义请求,直接向服务器发送索引和请求,收到回复,并履行 ambda 函数。
      您必须知道服务器和客户端的动作类、 请求类和响应类的索引。 您也必须知道服务器端的答题的动作类 。

      第六,有面向目标、注重进程的方案编制。


      在工控领域,特别是机械工具的自动化。引擎床的每一个动作 都可以被抽象化为行动每个动作也都是分组对象 。对于属于这一类别的物体,系统只要求使用执行方法。许多程序用于完成发动机床位操作。从编程上来讲,这只是一系列活动换句话说,客户连续向服务提供者提出请求。当服务器完成动作时, 它会返回结果 。至此,注重目标、注重过程的方案拟订工作已很好地融为一体。

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类