首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏该溜子的专栏

    【JavaEE】——自定义协议方案、UDP协议

    一:自定义协议 程序员在调用操作系统提供的网络API写出来的代码都是属于应用层的(回顾五个层级:应用层,传输层,网络层,数据链路层,物理层),应用层自身就有许多已经创建好的协议,但多数情况下是需要程序员自定义协议的 1:自定义协议 主要约定好两方面的内容 (1)交互哪些信息 解释:服务器和客户端之间要交互哪些信息,由产品经理规定需要传输哪些信息 (2)数据的具体格式 解释:客户端按照约定构造、发送请求,解析返回的响应 服务器按照约定解析请求,构造、发送响应 2:(反)序列化 Client和Server之间交互的是“结构化数据”,网络传输的数据其实是“字符串”“二进制bit流”,约定协议的过程就是把 我们使用的socket的API都是由传输层提供的 对于端口号,它是一个2字节的整数(0,2的16次方-1),在使用端口号的时候,[1,1024]都是属于系统保留的自用的端口号(知名端口号) 六:UDP协议 1:特点 回顾一下:无连接,不可靠传输,面向数据报,全双工, UDP数据报=报头+载荷 UDP报头中4个字段,每个字段2个字节,共8个字节 协议中报头用2个字节表示端口号,能表示的范围为2^16-1=

    41510编辑于 2024-12-30
  • 来自专栏爱编码

    【Netty】自定义协议

    简介 Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象。 步骤 制定协议(如表头,内容字节大小,内容,校验位等) 写好编码器Encoder,将数据进行编码的操作。 写好解码器Decoder,将数据进行解码的操作。 实现 1.制定协议(如表头,内容字节大小,内容,校验位等) 自定义传输的实体类,其实本质上你可以将它当做自定义协议。这里为了方便入门,就没有写正式的协议。 www.cnblogs.com/zeroone/p/8490904.html https://www.cnblogs.com/zeroone/p/8490921.html 总结 Netty提供了编解码器就让我们可以非常方便的自定义自己传输数据的格式

    1.2K40发布于 2019-07-03
  • 来自专栏landv

    自定义URL Protocol 协议

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\fuck] @="fuck Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\fuck\DefaultIcon] @="C:\\Program Files (x86)\\VB精简版\\Vb6.exe,0" [HKEY_CLASSES_ROOT\fuck\shell] @="" [HKEY_CLASSES_ROOT\fuck\shell\open]

    1.9K30发布于 2019-03-22
  • 来自专栏AI机器学习与深度学习算法

    学习分类 2-2 内积

    对于分类问题,我们不再像回归问题那样,找出直线的斜率和截距。为了方便理解,将拥有一个特征的回归问题所绘制的图示和拥有两个特征的分类问题绘制的图示进行对比。

    55910编辑于 2022-11-08
  • 来自专栏IT技术圈

    习题2-2 阶梯电价 (15分)

    为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

    3.3K10发布于 2021-04-01
  • 来自专栏漫流砂

    自定义协议 | Electron 安全

    0x01 简介 大家好,今天和大家讨论的是自定义协议,在很多应用中,除了支持 http(s)、file、ftp等开放的通用标准协议外,还会支持一些自定义协议自定义协议常被用于实现特殊功能,比如深度集成应用程序与特定的网络服务 ,欢迎大家留言讨论~ 这篇文章也提供了 PDF 版本及 Github ,见文末 0x02 程序内部注册自定义协议 1. 否则, 该协议将表现为 file 协议, 而且,这种文件协议将不能解析相对路径 例如, 当您使用自定义协议加载以下内容时,如果你不将其注册为标准scheme, 图片将不会被加载, 因为非标准scheme 所以一般来说如果你想注册一个自定义协议来替换http协议,你必须将其注册为标准 scheme: 如果 Protocols 需要使用流 (http 和 stream 协议) 应设置 stream: true ,所以在做安全检查时,也需要根据实际情况,接下来列举几个曾经在注册自定义协议方面出现的问题 需要注意的是,外部引用的安全防护代码可能不会针对自定义协议进行防护,这也是造成很多漏洞的直接原因 CVE-2018

    1.6K10编辑于 2024-05-17
  • 来自专栏蛋蛋编程手记

    内容传输自定义协议

    在这种需求下,最好的方法就是自定义协议,发送方按照一定的格式将文件流和文件描述信息编码成字节流,接收方把收到的字节流在解析成文件流和文件描述信息。 这里蛋蛋给出一个简单的协议格式。 消息类型(1字节) 描述信息长度(4字节) 描述信息(描述信息长度) 文件流长度(4字节) 文件流(文件流长度) ​ 发送方按照上述协议进行编码。 接收方收到了字节流后按照上述协议解析。 1. 根据第4步的文件长度读取文件流 最后说一下,这个协议有几个很大的局限性。 首先长度信息限制在了4个字节的范围内,所以不能超过2^32次方,也就是说内容长度不能超过大概4个g。

    59410编辑于 2023-02-25
  • 来自专栏m0w3n

    wireshark插件开发 - 自定义协议

    虽然wireshark自带了很多知名协议的解析插件,譬如HTTP、DHCP等等,然而在实际应用环境中,有不少软件之间的通信协议都是私有的,如游戏客户端和服务器之间的交互协议通常都是私有的,wireshark 无法具体解析出各种字段之间的含义,只能显示接收到的二进制数据,给协议的分析和问题的排查带来了一定的困难,尤其是协议内容比较复杂时。 本文一个自定义的简单协议入手,分析如何基于wireshark开发自定义协议分析插件。 ? 1.1. 概述 本书使用Go语言来描述协议的交互过程。 协议描述 1 package packet 2 3 import ( 4 "bytes" 5 "encoding/binary" 6 "fmt" 7 "os import ( 4 "fmt" 5 "net" 6 ) 7 8 import "packet" 9 10 func main() { 11 #连接服务端,UDP协议

    1.8K30发布于 2021-06-21
  • 来自专栏Hank’s Blog

    2-2 R语言基础 向量

    > x <- vector("character",length=10) > x1 <- 1:4 > x2 <- c(1,2,3,4) > x3 <- c(TRUE,10,"a") #如果给向量赋值时元素类型不一致,R就会强制转换,将他们变为同一类型 > x4 <- c("a","b","c","d")

    74610发布于 2020-09-16
  • 来自专栏波波烤鸭

    2-2 SPU和SKU详解及MyBatisPlus自动生成

    2-2 SPU和SKU详解   商城系统中的商品信息肯定避免不了SPU和SKU这两个概念,本节就给大家详细介绍下这块的内容 1、掌握SKU和SPU关系 SPU = Standard Product Unit

    3.1K41发布于 2021-01-21
  • 来自专栏刷题笔记

    2-2 学生成绩链表处理 (20 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/shiliang97/article/details/101169860 2-2 学生成绩链表处理 (20 分) 本题要求实现两个函数,一个将输入的学生成绩组织成单向链表

    1.6K20发布于 2019-11-08
  • 来自专栏游戏杂谈

    wireshark解析自定义的protobuf协议

    一个Lua插件的Dissector结构大致如下: do -- 协议名称为 m_MeteoricProto,在Packet Details窗格显示为 XXX Protocol local buffer, pinfo, tree) then else -- data 这个 dissector 几乎是必不可少的; 当发现不是我的协议

    4.9K30发布于 2018-11-20
  • 来自专栏mysql

    hhdb数据库介绍(2-2)

    HHDB Server在计算节点、数据节点、配置库等层次提供全面的高可用保障。提供完善的心跳检测、故障切换对存储节点同步追平判断、全局自增序列在故障时自动跳号、客户端连接Hold等机制,保障数据服务的可用性与数据的一致性。

    19110编辑于 2024-11-28
  • 来自专栏张泽旭的专栏

    springcloud gateway 自定义协议转化实现

    本文链接:https://blog.csdn.net/qq_17655941/article/details/103362115 这几天公司要求实现 springcloud gateway 自定义协议 需要对外统一提供http/https 的接口,但是后端有很多服务提供了不同的方式,包括dubbo 协议,和dubbo 上提供的各种访问协议等(dubbo服务上协议的支持),需要从网关直接代理去访问。 org.springframework.cloud.gateway.filter.GlobalFilter 全局网关过滤器,是一个接口,自定义需要实现此接口(下面说明的类都实现此接口,并在同一个包中) sink.complete(); })); })); } } 通过反射机制类完成除过gateway 自定义协议外的所有解析进行处理 这就完了,简单把 具体协议插件实现可以下载源代码 完整项目下载 github

    3.7K31发布于 2019-12-10
  • 来自专栏InvQ的专栏

    如何利用 Netty 实现自定义协议通信?

    既然是网络编程,自然离不开通信协议,应用层之间通信需要实现各种各样的网络协议。在项目开发的过程中,我们就需要去构建满足自己业务场景的应用层协议。 之前我们介绍了如何使用网络协议解决 TCP 拆包/粘包的底层问题,这次我们将在此基础上继续讨论如何设计一个高效、可扩展、易维护的自定义通信协议,以及如何使用 Netty 实现自定义通信协议。 如果在满足业务场景以及性能需求的前提下,推荐采用通用协议的方案。相比通用协议自定义协议主要有以下优点。 极致性能:通用的通信协议考虑了很多兼容性的因素,必然在性能方面有所损失。 扩展性:自定义协议相比通用协议更好扩展,可以更好地满足自己的业务需求。 安全性:通用协议是公开的,很多漏洞已经很多被黑客攻破。 自定义协议更加安全,因为黑客需要先破解你的协议内容 那么如何设计自定义的通信协议呢?这个答案见仁见智,但是设计通信协议有经验方法可循。

    1.2K40发布于 2020-11-13
  • 来自专栏我的博客

    【Linux网络】应用层自定义协议

    应用层协议就是应用程序之间通信的规则和格式约定,让不同的程序能够理解彼此发送的数据含义。 再谈 “协议协议是一种 “约定”。 数据形态 优点 缺点 适用场景 JSON 文本(UTF‑8) 人类可读、调试方便、跨语言支持广泛 数据体积相对大、解析速度慢于二进制方案 配置、REST API、调试阶段 XML 文本(带标签) 可自定义结构 这种约定就是 应用层协议 但是,为了让我们深刻理解协议,我们打算自定义实现一下协议的过程。 我们采用方案2,我们也要体现协议定制的细节 我们要引入序列化和反序列化,只不过我们直接采用现成的方案 – jsoncpp库 我们要对socket进行字节流的读取处理 不过我们会在下篇文章中自定义实现一下协议 “lineBreak”:自定义换行符(如设置为 “\n” 或 “\r\n”),影响多行输出的换行方式。

    18710编辑于 2025-12-22
  • 来自专栏育种数据分析之放飞自我

    笔记 | GWAS 操作流程2-2:性别质控

    「原理:」检查性别差异。先验信息,女性的受试者的F值必须小于0.2,男性的受试者的F值必须大于0.8。这个F值是基于X染色体近交(纯合子)估计。不符合这些要求的受试者被PLINK标记为“PROBLEM”。

    1.6K31发布于 2020-05-18
  • 来自专栏python3

    Python自动化开发学习2-2

    open()打开文件。windows系统默认的是gbk编码,如果不指定字符编码,就会使用系统默认的字符编码打开文件。比如这时python就会使用gbk编码去读utf-8文件,运行后会报错或者读到乱码。

    67330发布于 2020-01-10
  • 来自专栏悟道

    2-2 二分&前缀和模板

    二分模板 int mid=0; while(left<right){ mid=(left+right)/2; if(check(mid)<K) r=mid; else l=mid+1; } 前缀和模板 : 前缀呢 无非就是 从left->right的和: ( s[right] - s[left-1]) import java.util.Scanner; public class Main { public static void main(Stri

    35130发布于 2021-03-11
  • 来自专栏云原生可观测性

    基于Netty,实现一个自定义协议

    基于上面的原因,一般的服务之间进行交互时都会使用自定义协议,常见的框架,诸如dubbo,kafka,zookeeper都实现了符合其自身业务需求的协议,本文主要讲解如何使用Netty实现一款自定义协议 协议规定 所谓协议,其本质其实就是定义了一个将数据转换为字节,或者将字节转换为数据的一个规范。一款自定义协议,其一般包含两个部分:消息头和消息体。 下面是我们为当前自定义协议所做的一些规定: ? image 上述协议定义中,我们除了定义常用的请求和响应消息类型以外,还定义了Ping和Pong消息。 小结 本文首先将自定义协议与HTTP协议进行了对比,阐述了自定义协议的一些优点。然后定义了一份自定义协议,并且讲解了协议中各个字节的含义。 最后通过Netty对自定义协议进行了实现,并且实现了基于自定义协议的心跳功能。

    3.8K20发布于 2020-06-17
领券