Skip to content

linsimiao/first-try

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

##讨论课作业

###保持连接(长连接心跳机制)

####定义

  • 心跳机制是定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。

####与短连接对比

  • 长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。

  • 长连接

    • 指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接;一般需要自己做在线维持。
  • 短连接

    • 指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接;一般银行都使用短连接。它的优点是:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段。

####适用场景

  • 长连接
    • 长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。 每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多。所以数据库的操作应该用长连接。以及生活中的常见的判断QQ是否下线也是用了长连接心跳机制。ATM机就不需要长连接。

###防止消息丢失和消息重发

####起因

  • client发的消息由于网络连接不好或者超过limit等原因,都有可能不能成功到达server端。我们要防止消息丢失,以及恰当的使用消息重发。

####解决

  • client发之前要验证queue是否可用以及保证监听topic的client都收到合法消息。
  • 在onMessage方法中使用try-catch,这样可以在处理消息出错时记录一些信息,而不是让consumer不断去重发消息。

###SIP压缩机制(话外)

  • SIP定义

    • 它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。它不定义要建立的会话的类型,而只定义应该如何管理会话。
  • SIP压缩机制

    • SIP 压缩机制主要是通过改变 SIP 消息的长度来降低时延。典型的 SIP 消息的大小由几百到几千字节,为了适合在窄带无线信道上传输,IMS对SIP进行了扩展,支持SIP消息的压缩。当无线信道一定时, 一条SIP消息所含帧数 k仅取决于消息大小。从时延模型可以看出,不仅影响 SIP 消息传输时延, 还影响SIP重传的概率, 对自适应的定时器来说,k还成了影响定时器初值的关键因素。
  • 应用

    • google 发布世界上首个开源的Html5 sip 客户端 HTML5 SIP客户端是一款开源的,完全利用JavaScript编写的集社交(FaceBook,Twitter,Google+),在线游戏,电子商务等应用于一体。无扩展,无插件或是必备的网关,视频堆栈技术依赖于WebRTC。如同主页里的Demo视频演示,你可以轻松实现Chrome和IOS/Android移动设备之间的实时视频/音频通话。 该客户端是一项在浏览器中可被用来连接任意SIP或者IMS网络进行拨打和接收音频/视频通话及即时信息技术。该协议解析器(SIP,SDP...)通过使用Ragel查找表进行了高度优化,很适合硬件(内存和运算能力)受限的嵌入式系统使用。

About

it's my first try on github

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors