XXO类似于网关,进行业务分发,很大一部分应用都是先接入到XXO,再尤其分发至相应的服务器进行业务处理。

XXO是一套协议,由serviceCmd来控制指示携带的何种业务报文,而业务包体则使用的是WUP协议。

XXO再发送报文前(除了login),必须先经过鉴权。鉴权成功后,即可携带各种业务报文至XXO服务器,XXO服务器再根据serviceCmd进行相应转发。实现XXO客户端最难的不是技术,是了解业务流程。尤其是鉴权,比较复杂,需要在几个服务器之间交换数据,生成各种凭证。一旦鉴权ok后,后续的业务操作就相对简单了。

客户端到XXO服务器采取的是tcp协议,通过编写socket来实现通信。收到的tcp报文通过协议中携带的报文长度进行分割。一旦组装出一个完整的响应包,便丢给上层去进行下一步处理。

WUP协议包体的构建相对简单,采取已有的jar包即可进行组包,解包。协议结构中,有一个协议头,协议包体,一个服务器字段servname,一个业务命令字字段funcname,一个requestId。通过servname,XXO可以将包体透传到该业务服务器,通过funcname,业务服务器会调用相应的解包结构体来进行解包操作。

XXO客户端携带WUP包体进行协议测试相关推荐

  1. 91.接收用户请求包体的方式

    (1)接收客户端请求的包体:收完在转发还是边收边转发 Syntax: proxy_request_buffering on | off; Default : proxy_request_bufferi ...

  2. 包体 400 KB,首开 0.2 s,真有这样的播放器 SDK!

    2017 年,马克·扎克伯格接受 CNBC 采访时说:「视频是大趋势,未来我们会在视频尤其是短视频上投更多资源.往后五年你会发现,在互联网大家最乐于传播的一定是短视频.」 10 秒时代 现在,似乎没人 ...

  3. TCP粘包问题的解决方案01——自定义包体

    粘包问题:应用层要发送数据,需要调用write函数将数据发送到套接口发送缓冲区.如果应用层数据大小大于SO_SNDBUF,那么,可能产生这样一种情况,应用层的数据一部分已经被发送了,还有一部分还在套接 ...

  4. 关于SpringBoot整合Netty客户端和服务端实现JT808协议

    关于SpringBoot整合Netty客户端和服务端实现JT808协议 最近做了一个使用netty实现交通部JT808协议的项目,对比了mina和netty两种框架的使用,先整理一下netty的实现过 ...

  5. Wireshark数据抓包分析——网络协议篇

    Wireshark数据抓包分析--网络协议篇 Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wiresh ...

  6. 讨论:如何降低Cocos2d开发的游戏包体大小

    众所周知,通过Cocos2d开发的手游包体普遍偏大,动则几百M的安装包,而包体大则会导致手游推广的成本增大,也会影响到用户转化率.除去其他因素,用户在选择下载时,会着重关注游戏包体大小,游戏包体体积过 ...

  7. nginx丢弃http包体处理

    http框架丢弃http请求包体和上一篇文章http框架接收包体, 都是由http框架提供的两个方法,供http各个模块调用,从而决定对包体做什么处理.是选择丢弃还是接收,都是由模块决定的.例如静态资 ...

  8. java做服务器端给客户端传数据包_java 服务器怎样给客户端传输数据

    展开全部 服务器端源码: import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExceptio ...

  9. 抓包红色_抓包三部曲 WebSocket 协议原理抓包分析

    这篇文章通过抓包分析 WebSocket 协议的细节,学习一下 WebSocket 执行流程. 1.WebSocket 流程说明 (1)客户端和服务器之间完成三次握手建立 TCP 连接(TLS/SSL ...

最新文章

  1. python中pos的用法_Python正则式的基本用法
  2. 浪度九州城首页到内容页
  3. name optimize is not defined 怎么解决_Web前端:怎么在JavaScript中比较对象?
  4. synchronized(this)用法
  5. 公司电脑用域账号访问团队文件夹
  6. java pdf中文乱码_java转pdf(html转为pdf),解决中文乱码,标签不规范等问题
  7. How Much Memory Your Code Is Using? Gym - 101955J
  8. 点云投影_激光点云变换到图像平面并保存成int16灰度图一帧激光点云+一张RGB图像得到彩色点云
  9. Exception:A generic error occurred in GDI+
  10. ios开发之商城类软件 - 框架构思
  11. 微软sql服务器可以卸载,完美卸载SQL Server 2008的方法
  12. 基于神经网络多层感知器的波士顿房价数据集回归问题
  13. 坚果Pro2刷入twrp rec
  14. Public Key Retrieval is not allowed
  15. 如何将pdf转换成jpg,转换达人教你一招搞定
  16. Kinect传感器的硬件组成
  17. 一个440MHz的微带线耦合电路
  18. Eslint的严格模式
  19. cmd批量修改文件名 增加文字_cmd命令批量修改文件名或后缀名
  20. 转载:使用pythonr脚本实现微信公众号音频批量下载

热门文章

  1. 2019年前端road map
  2. 人工神经网络的基本原理及其应用
  3. matlab中有没有谱聚类,matlab – 谱聚类
  4. 泛泰长短信修改教程(供其他泛泰机型参考)
  5. 【亲测可用】云里黑白第十三回——解决出现问题,你的PIN不可用,单击以重新设置PIN,诊断启动,禁用服务
  6. seo是什么,干什么用,有什么作用(二)
  7. 运放-运算放大器经典应用电路大全-应用电路大全-20种经典电路
  8. C# 每天定时执行任务(每天凌晨1点执行)
  9. Seeding Service Secrets
  10. 运算符(一元 二元)