通信协议
文章平均质量分 78
json/xml/http/https/tcp/udp
caodongfang126
这个作者很懒,什么都没留下…
展开
-
protostuff序列化/反序列化
protostuff序列化/反序列化Protostuff是基于Google protobuff技术的Java版本,直接使用原生的protobuff是需要数据结构的预编译过程,需要编写.proto格式的配置文件,再通过protobuff提供的工具翻译成目标语言代码,而Protostuff动态支持了protobuff的预编译的过程,可以直接使用普通java POJO进行序列化,简化转载 2017-12-08 18:16:12 · 322 阅读 · 0 评论 -
Protostuff 序列化/反序列化集合等对象
Protostuff 序列化/反序列化集合等对象在使用 Protostuff 的时候会遇到一些无法直接序列化/反序列化的对象,比如Map、List等。在序列化这些无法直接序列化/反序列化的对象时,可以引入一个包装类来吧这些数据包装一下,然后对这个包装类进行序列化/反序列化。具体实现如下:1. 定义一个包装类SerializeDeserializeWrappe转载 2017-12-08 14:07:39 · 4157 阅读 · 1 评论 -
序列化和反序列化
序列化和反序列化 摘要 序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中;另一方面,它们会以其他更容易理解的概念出现,例如加密、持久化。然而,序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更为显著。恰当的序列化协议不仅可以提高系统的通用性、强健转载 2017-12-08 10:34:59 · 150 阅读 · 0 评论 -
Java实现几种序列化方式总结
Java实现几种序列化方式总结本篇文章主要介绍了Java实现几种序列化方式总结,包括Java原生以流的方法进行的序列化、Json序列化、FastJson序列化、Protobuff序列化。有兴趣的可以了解一下。0、前言本文主要对几种常见Java序列化方式进行实现。包括Java原生以流的方法进行的序列化、Json序列化、FastJson序列化、Protobuff序列化。1、转载 2017-12-07 12:00:43 · 790 阅读 · 0 评论 -
(websocket)协议中Ping Pong,Socket通讯ping pong(长连接),心跳包
-- Socket读写数据:流Socket,数据包Socket。? 1.流套接字(SOCK_STREAM):流套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。 2.数据报套接字(SO...转载 2019-07-19 10:25:32 · 13054 阅读 · 0 评论 -
TCP粘包,拆包及解决方法
TCP粘包,拆包及解决方法在进行Java NIO学习时,发现,如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。我们都知道TCP属于传输层的协议,传输层除了有TCP协议外还有UDP协议。那么UDP是否会发生粘包或拆包的现象呢?答案是不会。UDP是基于报文发送的,从UDP的帧结构可以看出,在UDP首部采用了16...原创 2018-02-22 10:13:17 · 771 阅读 · 0 评论 -
Java NIO框架Mina、Netty、Grizzly介绍与对比
Java NIO框架Mina、Netty、Grizzly介绍与对比Mina:Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯...转载 2018-02-14 13:21:46 · 476 阅读 · 0 评论 -
Wireshark-TCP协议分析(包结构以及连接的建立和释放)
TCP:传输控制协议 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。 面向连接: 面向连接意味着使用tcp的应用程序在传输数据前必须先建立连接,就如打电话一样,要先进行拨号,等待对方响应才能开始说话。 可靠性:tcp协议通过下列方式来提高可靠性: 应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由转载 2018-01-31 18:54:51 · 287 阅读 · 0 评论 -
Netty 长连接服务
推送服务还记得一年半前,做的一个项目需要用到 Android 推送服务。和 iOS 不同,Android 生态中没有统一的推送服务。Google 虽然有 Google Cloud Messaging ,但是连国外都没统一,更别说国内了,直接被墙。所以之前在 Android 上做推送大部分只能靠轮询。而我们之前在技术调研的时候,搜到了 jPush 的博客,上面介绍了一些他们的技术特点,他们主转载 2018-01-30 18:51:45 · 462 阅读 · 0 评论 -
TCP通信丢包原因总结
TCP通信丢包原因总结 关于TCP掉包的问题,TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况。 如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务器给客户端发大量数据,Send的频率很高,那么就有可能在Send时发生错误(原因可能是又多种,可能是程序处理逻辑问题,多线程同步问题,缓冲区溢出问题等等),转载 2017-10-25 08:48:19 · 2126 阅读 · 0 评论 -
关于网络编程中MTU、TCP、UDP优化配置的一些总结
关于网络编程中MTU、TCP、UDP优化配置的一些总结首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} ----------转载 2017-09-19 16:47:53 · 622 阅读 · 0 评论 -
TCP Nagle算法&&延迟确认机制
TCP Nagle算法&&延迟确认机制摘要: TCP Nagle算法&&延迟确认机制TCP Nagle算法&&延迟确认机制TCP Nagle算法http://baike.baidu.com/view/2468335.htm百度百科:TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽转载 2017-09-19 16:45:59 · 562 阅读 · 0 评论 -
TCP选项:TCP_NODELAY和TCP_CORK(negle算法)
TCP选项:TCP_NODELAY和TCP_CORK(negle算法) Nagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And转载 2017-09-19 14:52:10 · 2160 阅读 · 0 评论 -
Internet thin-stream 交互式应用 TCP延迟
Internetthin-stream 交互式应用 休闲 TCP延迟 1. thin-stream的特征 在大量使用可靠传输协议的Internet服务中,表现出thin-stream特征。如果一个stream满足以下1个条件则称为thin stream: (1) 报文interarrival time(IAT)太高无法触发快速重传; (2转载 2017-09-15 18:02:41 · 371 阅读 · 0 评论 -
基础知识
网络基础知识先简单的介绍一下计算网络的一些基础知识 :)首先说一下 tcp:tcp的好处就是“可靠”,会将体积大的数据包进行分片,保证不会让ip协议进行分片。会检测数据包是否丢包,丢包重传,有序地发送数据包等等,坏处就是数据包头比较臃肿,至少有20+的字节(不要小看这20+字节),在丢包重传时,会阻塞后面的数据包,而且tcp需要保持连接状态才能进行通讯,在连接数较多时,服务器光在h转载 2017-09-15 17:27:15 · 154 阅读 · 0 评论 -
tcp
tcp push由于发送该数据会清空发送缓冲,所以要加上PUSH标志。(告诉接收者:所有数据已发送,马上送到应用层去。)这里所说的数据包括与此PUSH包一起传输的数据以及之前就为该进程传输过来的数据设置PUSH标志:如果待发送的数据会清空发送缓存,那么栈就会自动为此包设置PUSH标志正在看《tcp/ip详解》8个wrtie,每个写1024的数据,每个都会加上转载 2017-09-15 16:10:52 · 323 阅读 · 0 评论 -
Nagle算法
Nagle算法根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程(称为Nagling),通过减少必须发送的封包的数量,提高了网络应用 程序系统的效率。Nagle算法,由Ford Aerospace And Communications Corporation Congestion Control in IP/TCP internetworks(转载 2017-09-14 19:05:32 · 826 阅读 · 0 评论 -
https生成证书——keytool 用法总结
keytool 用法总结内容概览:keytool的几个常用的命令。1.创建证书2.查看证书库3.导出证书文件4.导入证书的信息5.查看证书信息6.删除密钥库中的条目7.修改证书条目的口令-------------------------------------------------------------------------------------转载 2017-08-06 11:40:44 · 2316 阅读 · 0 评论 -
https知识了解与javaweb中如何使用https
https知识了解与javaweb中如何使用https1) https是什么?https是一种协议,在说https之前我们先说一下什么是http,http就是我们平时浏览网页时使用的一种协议,http协议传输的数据都是未加密的,也就是明文的,因此使用http协议传输隐私信息非常不安全。为了保证这些隐私数据能够加密传输,王景公司设计了SSL(Secure Socket La转载 2017-08-06 11:34:44 · 367 阅读 · 0 评论 -
XML解析与Bean转换,XStream-工具类
XML解析与Bean转换,XStream-工具类原创 2016-11-22 17:03:08 · 2707 阅读 · 0 评论 -
XML解析与Map、Json转换,Dom4j-工具类
XML解析与Map、Json、Bean转换,Dom4j-工具类原创 2016-11-22 16:03:31 · 7210 阅读 · 0 评论 -
JSONObject,JSONArray,Map,String之间转换
JSONObject,JSONArray,Map,String之间转换1.String转JSONObjectString jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";JSONObject myJson = JSONObject.fromObject(jsonMessage);2.St转载 2016-11-11 11:20:27 · 2038 阅读 · 0 评论 -
JSON的三种解析方式
json字符串转换为JSONObject和JSONArray转载 2016-11-11 10:15:09 · 363 阅读 · 0 评论 -
HTTP Method
HTTP Method1.安全方法HTTP定义了一组被称为安全方法的方法。GET方法和HEAD方法都被认为是安全的,这就意味着使用GET或HEAD方法的HTTP请求都不会产生什么动作。安全方法并不一定什么动作都不执行(由web开发者决定)使用安全方法的目的就是当使用可能引发某一动作的不安全方法时,运行HTTP应用程序开发者通知用户。2.GET方法通常用于请求服务器发送某个资...转载 2019-06-21 13:58:02 · 481 阅读 · 0 评论 -
抓包工具Fidder详解(主要来抓取Android中app的请求)
今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以抓取PC上开发web时候的数据包,而且可以抓取移动端(Android,Iphone,WindowPhone等都可以),太强大了,以前搞web的时候,知道有一款叫做HttpWatch工具,可以抓取web转载 2018-01-31 18:55:55 · 197 阅读 · 0 评论 -
客户端与服务器端交互原理
客户端与服务器端交互原理经常看到HTTP客户端与服务器端交互原理的各种版本的文章,但是专业术语太多,且流程过于复杂,不容易消化。于是就按照在 Servlet 里面的内容大致做了一些穿插。本来连 Tomcat 容器 和 Servlet 的生命周期也准备在这里一起写的,但怕过于庞大,于是就简单的引用了一些 Servlet 对象。这样的一个整个流程看下来,相信至少在理解 HTTP协议和 requ转载 2017-09-15 18:10:33 · 3105 阅读 · 0 评论 -
HttpClient使用详解
HttpClient使用详解转载 2016-11-10 17:24:56 · 297 阅读 · 0 评论 -
HttpURLConnection用法
HttpURLConnection用法原创 2016-11-10 15:48:16 · 269 阅读 · 0 评论 -
jQuery Ajax 跨域请求与getJSON跨域请求
jQuery 的Ajax 跨域请求与getJSON跨域请求原创 2016-09-30 16:21:24 · 764 阅读 · 0 评论