一、前言 很多年前就做过类似的项目,无非就是将本地的图片上传到服务器,就这么简单,其实用http的post上传比较简单容易,无需自定义协议,直接设置好二进制数据即可,而采用TCP或者UDP通信的话,必须自定义协议,因为不知道什么时候数据接收完了是完整的图片数据,可能同时在发送很多图片数据,而且还不能 ...
分类:
其他好文 时间:
2019-12-15 01:06:40
阅读次数:
100
自定义协议可以解决粘包和拆包问题,客户端发送数据时携带数据包长度,服务端接收数据后解析消息体,获取数据包长度值,据此继续获取数据包内容。我们来看具体例子,自定义的协议如下: + + + | 消息头 | 消息体 | | Delimiter | Length | Type | Reserved | da ...
分类:
Web程序 时间:
2019-10-11 18:29:18
阅读次数:
126
问题 :compositeByteBuf 是干什么和其他 compositeByteBuf 有何区别内部实现概述compositeByteBuf 就像数据库中的视图,把几个表的字段组合在一起,它的应用场景比如一个自定义协议有消息头和消息体,而两者是分开到两个 ByteBuf 的,那么这时候要怎么把两... ...
分类:
Web程序 时间:
2019-10-08 14:38:21
阅读次数:
148
前言 最近在调研 的使用,在编写编码解码模块的时候遇到了一个中文字符串编码和解码异常的情况,后来发现是笔者犯了个低级错误。这里做一个小小的回顾。 错误重现 在设计 的自定义协议的时候,发现了字符串类型的属性,一旦出现中文就会出现解码异常的现象,这个异常并不一定出现了 ,而是出现了解码之后字符截断出现 ...
分类:
Web程序 时间:
2019-10-03 10:34:30
阅读次数:
113
本篇文章主要是介绍使用LengthFieldBasedFrameDecoder解码器自定义协议。通常,协议的格式如下: LengthFieldBasedFrameDecoder是netty解决拆包粘包问题的一个重要的类,主要结构就是header+body结构。我们只需要传入正确的参数就可以发送和接收 ...
分类:
数据库 时间:
2019-09-23 12:13:39
阅读次数:
115
artillery是基于nodejs 编写的负载测试套件支持http&&socket.io&&websockets&&kinesis&&hls 包含以下特性 多协议支持(http,websocket,socket.io,kinesis,hls) 场景化,支持复杂场景测试(web app,api,电子 ...
分类:
其他好文 时间:
2019-09-11 09:18:40
阅读次数:
113
一、前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式。这种方式,大部分一看就知道是熟悉Web开发、软件开发的人喜欢用的方式。由于我也是做web软件开发的,也是比较喜欢这种方式。阿里的物联网平台,也是推荐这种方式。但是,但是做惯硬件开发, ...
分类:
Web程序 时间:
2019-08-25 21:39:28
阅读次数:
132
内容回顾 C/S和B/S架构 osi五层模型 应用层 自定义协议(struct) _ 解决黏包 验证客户端合法性 解决TCP协议的server端并发问题 socket 传输层 端口 在一台机器上唯一标识一个运行中的网络程序 tcp 三次握手 四次挥手 黏包问题 udp 四层交换机 四层路由器 网络层 ...
分类:
其他好文 时间:
2019-08-17 17:51:53
阅读次数:
88
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。 它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 ...
分类:
系统相关 时间:
2019-07-26 14:30:25
阅读次数:
125
# 1 .黏包现象 发送的两个数据黏在一起 #2 .成因 #发送端粘:和包机制 #接受端粘 :接受不及时 #数据与数据是无边界的流逝传输 # 3解决黏包 #自定义协议 #struct模块 #把任意长度的数据变成固定的4个字节 #低级 #先发送数据长度 #在发送数据 #高级 #先把所有相发送的数据信息 ...
分类:
其他好文 时间:
2019-04-10 13:54:40
阅读次数:
373