成帧与解析 阅读 <java TCP/IP Socket 编程>第三章笔记 成帧技术(frame)是解决如何在接收端定位消息的首尾位置的问题.在进行数据收发时,必须指定消息接收者如何确定何时消息已经接收完整. 在TCP协议中,消息是按照字节来传输的,而且TCP协议中是没有消息边界的概念的.因为当client和server双方建立TCP连接后,双方可以自由发送字节数据. 为了能够在消息传输中确定消息的边界,需要引入额外的信息来标示消息边界.常用的办法有两种: 基于定界符与基于显式消息长度. 基于…
默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除 如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则会立即发送,当 Message 被消费者正确接收时,就会被从 Queue 中移除 消息发送确认 发送的消息怎么样才算失败或成功?如何确认? 当消息无法路由到队列时,确认消息路由失败.消息成功路由时,当需要发送的队列都发送成功后,进行确认消息,对于持久化队列意味着写入磁盘,对于镜像队列意味着所有镜像接…
转:https://blog.csdn.net/u014373554/article/details/92686063 项目是使用springboot项目开发的,前是代码实现,后面有分析发送消息失败.消息持久化.消费者失败处理方法和发送消息解决方法及手动确认的模式 先引入pom.xml <!--rabbitmq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId…
1.安装erlang语言环境 1.1 创建 erlang安装目录 mkdir erlang 1.2 上传解压压缩包 上传到: /root/ 解压缩# tar -zxvf otp_src_22.0.tar.gz 1.3 进入解压缩目录,指定目录并安装 进入解压目录,指定安装目录# ./configure --prefix=/usr/local/kh96/erlang 安装# make install 添加环境变量# echo 'export PATH=$PATH:/usr/local/kh96/e…
http://www.cnblogs.com/eping/archive/2009/12/12/1622579.html   使用TCP协议编写应用程序时,需要考虑一个问题:TCP协议是无消息边界的,即不能保证来自单个Send方法的数据能被单个Receive方法读取. eg: 第一次发送:abcdefg   第二次发送:123456         接收方接收数据时,可能会出现以下情况: 第一次接收:abcdefg123456   也可能出现:第一次接收:abc 第二次接收:efg12 第三次接…
在计算机领域,数据的本质无非0和1,创造0和1的固然伟大,但真正百花齐放的还是基于0和1之上的各种层次之间的组合(数据结构)所带给我们人类各种各样的可能性.例如TCP协议,我们的生活无不无时无刻的站在TCP协议这个“巨人”的肩膀上,最简单的一个打开手机的动作.所以对TCP的认识和理解,可谓越来越常识化. TCP/IP五层协议 虽然TCP是一种计算机网络协议,但本质还是人与人之间的一种约定,只不过由计算机去执行而已,把协议的细节与作用解耦,让我们人类只需专注于基于它的应用呈现之上即可.协议即“规则…
在介绍MSS之前我们必须要理解下面的几个重要的概念.MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segment Size 最大分段大小PPPoE: PPP Over Ethernet(在以太网上承载PPP协议),就是因为这个协议的出现我们才有必要修改我们的MSS或者是MTU值.MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC          …
终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输层,但是TCP和UDP最不同的地方是,TCP提供了一种可靠的数据传输服务,TCP是面向连接的,也就是说,利用TCP通信的两台主机首先要经历一个“拨打电话”的过程,等到通信准备结束才开始传输数据,最后结束通话.所以TCP要比UDP可靠的多,UDP是把数据直接发出去,而不管对方是不是在收信,就算是UDP…
TCP通信过程 下图是一次TCP通讯的时序图.TCP连接建立断开.包含大家熟知的三次握手和四次握手. 在这个例子中,首先客户端主动发起连接.发送请求,然后服务器端响应请求,然后客户端主动关闭连接.两条竖线表示通讯的两端,从上到下表示时间的先后顺序.注意,数据从一端传到网络的另一端也需要时间,所以图中的箭头都是斜的. 三次握手 建立连接 建立连接(三次握手)的过程: 客户端发送一个带SYN标志的TCP报文到服务器.这是上图中三次握手过程中的段1.客户端发出SYN位表示连接请求.序号是1000,这个…
 TCP协议具体解释 3.1 TCP服务的特点 TCP协议相对于UDP协议的特点是面向连接.字节流和可靠传输. 使用TCP协议通信的两方必须先建立链接.然后才干開始数据的读写.两方都必须为该链接分配必要的内核资源,以还礼链接状态和连接上数据的传输.TCP链接是全双工的.即两方的数据读写能够通过一个连接进行.完毕数据交换之后,通信两方都必须断开连接以释放系统资源. TCP协议的这样的连接是一对一的.所以基于广播和多播(目标是多个主机地址)的应用程序不能使用TCP服务. 而无连接协议UDP则很适…