1    消息流程

ICP与ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。短信网关之间前转时要求每条消息都要有状态报告。当向用户发送信息发生错误时,网关应向ICP发送错误状态报告。

1.1        长连接

ICP与ISMG以Client—Server方式建立TCP连接,用于双方信息的相互提交。TCP/IP连接建立后,由Client发起建立应用层的连接,这时如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,从而在双方建立TLS连接。

在应用层连接建立后的数据传输过程中,如果ICP或ISMG需要向对端发送加密信息,也可建立TLS连接,这时只需要置相应的消息体中Tls_available(是否使用TLS层)属性字段,且应的本条消息的消息体中的其他属性不发送。

消息采用并发方式发送,加以流量控制,窗口大小可调,暂定为16条消息,即接收方在应答前一次收到的消息最多不超过16条。

1.2   短连接

ISMG与ICP之间的通讯采用TCP/IP协议,双方互为client和server端。发送与接收单独进行,每项业务建立一个连接,通讯采用应答方式,应答与请求在同一个连接中完成。由于系统采用互为客户端/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

传输过程中,如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,并建立双方的TLS连接。

连接中对ICP的认证采用阶段性认证方式,当ICP首次与IMSG交换信息时,ICP首先发送身份认证包,ISMG对ICP进行身份认证后,记录ICP的IP地址等相关信息,在以后的数据交互时,ISMG把ICP的IP地址作为认证条件,即对没有注册的ICP的相关信息不予处理。当ICP想断开此逻辑上的应用层连接时,发送断开连接请求包,ISMG接受断开连接请求后,清除掉与此ICP相关的信息,即对MO到此ICP或ICP的MT信息均不予处理,但保存MO的信息,直到ICP再次与ISMG建立逻辑上的应用层连接,即身份认证。也允许ISMG发起断开ICP的连接请求。

ISMG之间通信采用短连接方式,首先发起连接者作为客户端,对方作为服务器建立连接。

消息采用并发方式发送,并加以流量控制,窗口大小可调,暂定为16条消息,即接收方在应答前一次收到的消息最多不超过16条。

短连接和长连接的区分相关推荐

  1. golang 短连接和长连接 超时处理

    作为一个可能会和很多Client进行通讯交互的Server,首先要保证的就是整个Server运行状态的稳定性,因此在和Client建立连接通讯的时候,确保连接的及时断开非常重要,否则一旦和多个客户端建 ...

  2. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...

    原标题:java原生程序redis连接(连接池/长连接和短连接)选择问题 最近遇到的连接问题我准备从重构的几个程序(redis和mysql)长连接和短连接,以及连接池和单连接等问题用几篇博客来总结下. ...

  3. java长连接心跳包_socket中的短连接与长连接,心跳包示例详解

    TCP连接简介 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立是需要三 ...

  4. http协议之长连接与短连接服务器,长连接短连接

    HTTP 协议与 TCP/IP 协议的关系 HTTP 协议是应用层的协议,而 TCP 协议是传输层的协议,IP 协议是网络层的协议. IP 协议主要解决网络路由以及寻址等问题,而 TCP 协议主要解决 ...

  5. 前端面试题必考(四)- HTTP短连接,长连接(keep-alive),websocket,postmessage

    一.HTTP与TCP的关系 HTTP属于应用层协议,主要解决如何包装数据: 在传输层使用TCP协议,主要解决数据如何在网络中传输: 在网络层使用IP协议,主要解决网络路由和寻址问题: HTTP把TCP ...

  6. 网络--基础知识点--tcp的短连接和长连接、http的短连接和长连接

    1. tcp的长连接和短连接 1.1 tcp长连接 在TCP层握手成功后,不立即断开连接,并在此连接的基础上进行多次消息(包括心跳)交互,直至连接的任意一方(客户端OR服务端)主动断开连接,此过程称为 ...

  7. 什么是短链接?长连接?

    什么是短链接?长连接? 短链接 概念 client与server通过三次握手建立连接,client发送请求消息,server返回响应,一次连接就完成了. 这时候双方任意都可以发起close操作,不过一 ...

  8. java socket 心跳包_socket中的短连接与长连接,心跳包示例详解

    TCP连接简介 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立是需要三 ...

  9. httpclient 设置短连接_HTTP长连接和短连接(转)

    HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的 ...

  10. python 长连接_TCP长连接和短连接 Python代码

    TCP在真正的读写操作之前,server与client之间必须建立一个连接, 当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接, 连接的建立通过三次握手,释放则需要四次握手, 所以说每个连 ...

最新文章

  1. YEX黄建:脱离比特币谈区块链,要么真傻,要么装疯卖傻丨区块链十人谈
  2. 插值法在计算机中的应用,常见的插值法及其应用.pdf
  3. winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行
  4. string 类型详解
  5. vi-vim常用命令
  6. 简述分布式一致性协议(2pc、3pc、paxos、zab)
  7. CRM campaign relationship read
  8. 2017网易内推编程题(判断单词):解答代码
  9. C语言中include““与include<>的区别(自定义头文件、预设头文件)
  10. python 脚本传参
  11. ICSharpCode.SharpZipLib 压缩、解压文件 附源码
  12. 句句真研—每日长难句打卡Day8
  13. 球球大作战c语言源代码,球球大作战,源码分享
  14. Mac OSX用终端检测文件的sha1值
  15. 使用 Google Analytics 的网址构建器来监控广告投放
  16. 路在脚下,却不知怎么去走?
  17. 数字通信之数字信号基带传输(九)
  18. SylixOS学习二—— SylixOS启程之旅_SylixOS 系统概览
  19. 【Machine Learning】模型融合之Stacking
  20. 解决google打开Github慢的问题,亲测有效

热门文章

  1. 关于评价指标的理解(TPR,FPR,TAR,FAR,FRR,ERR)
  2. 【第90期】关于数据分析师的学习路线,这是我见过最全面的
  3. 组态王与单片机协议2
  4. springboot集成mongoDB高级聚合查询,关联查询
  5. Minecraft PCL 启动器
  6. input输入框,正则格式化手机号(344)
  7. Linux 系统故障排查
  8. 光伏行业逆变器企业应该如何生存?
  9. 20世纪中国耕地与复种指数的变化
  10. php显示出温度最好的城市,PHP微信开发之查询城市天气