摘要:UDP 介绍 UDP 是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,速度快,可能会丢包,UDP段结构比TCP的段结构简单,因此网络开销也小。 UDP数据报格式有 首部 和数据 两个部分 首部 为8个字节 包括以下部分 (1) 源端口:源端口号,2个字节,最大值为65525 (2
阅读全文
摘要:Netty Websocket协议开发 Netty基于HTTP协议栈开发了WebSocket 协议栈,利用Netty的WebSocket 协议栈可以方便开发WebSocket 客户端和服务端 Netty Websocket 服务端 1 Netty Websocket 服务端启动类 package c
阅读全文
摘要:Http协议概述 1.什么是Http协议 HTTP是一个属于【应用层】的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 2.HTTP协议的主要特点 1) 支持Client/Server模式 2)简单--客户向服务器请求,只需指定服务URL,携带必要的请求参数或者消息体 3) 灵
阅读全文
摘要:1 新建实体类,这里需要实现 Serializable 接口即可 import java.io.Serializable; public class GirlResponse implements Serializable { private static final long serialVers
阅读全文
摘要:TCP以字节流的方式进行数据传输,上层应用协议为了对消息进行区分,往往采用如下4种方式。 消息长度固定:累计读取到固定长度为LENGTH之后就认为读取到了一个完整的消息。然后将计数器复位,重新开始读下一个数据报文。 回车换行符作为消息结束符:在文本协议中应用比较广泛。 将特殊的分隔符作为消息的结束标
阅读全文
摘要:一TCP 粘包/拆包 Tcp是个”流“协议,所谓流,就是没有界限的一串数据。 一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题 二、粘包问题的解决策略 (1)消息定长。报文大小固定长度,不够空格补全。发送和接收方遵循相同
阅读全文
摘要:maven 项目 Pom.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
阅读全文
摘要:一 Channel Channel是Java NIO的一个基本构造 Channel 看作 传入(入站)或者传出(出站)数据的载体 也可以是 打开或关闭 ,连接或者 断开连接 二 回调 一个回调其实就是一个方法,一个指向已经被提供给另外一个方法的方法引用 Netty 在内部使用回调处理事件 三 Fut
阅读全文
摘要:Netty简介 Netty 是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端。 Netty 是javar 卓越框架,它驾驭了Java的高级API的能力。 Netty 的特性总结 分类 Netty 的特性 设计 统一的API,支持多种种传输类型, 阻塞的和
阅读全文
摘要:1 概述 NIO 指是:非阻塞I/O NIO有三大核心部分:Channel-通道,Buffer-缓冲区,Selector-选择器。 Channel 是一个通道 是对传统IO中的流的模拟,读入或者写出的所有数据必须通过一个Channel对象。 Channel 是全双工,所以它可以比流更好的地映射底层操
阅读全文
摘要:五种网络I/O模型 一 Blocking I/O,阻塞 I/O 1 最常用的的I/O模型就是阻塞I/O模型 2 默认情况下,所有文件操作都是阻塞的。 当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内
阅读全文
摘要:、Apache MINA 项目主页:http://mina.apache.org/ 为开发高性能和高可用性的网络应用程序提供了非常便利的框架;支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序 2、Grizzly 官网:http://xsocket.sourceforge
阅读全文