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

    【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
  • 来自专栏刷题笔记

    7-4 悄悄关注 (25 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/shiliang97/article/details/97864803 7-4 悄悄关注 (25 分) 新浪微博上有个“悄悄关注”,一个用户悄悄关注的人

    1.1K10发布于 2019-11-08
  • 来自专栏刷题笔记

    7-4 树的遍历 (20 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/shiliang97/article/details/102924283 7-4 树的遍历 (20 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列

    73610发布于 2019-11-07
  • 来自专栏刷题笔记

    7-4 字符串排序

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 点这里 7-4 字符串排序 本题要求编写程序,读入5个字符串,按由小到大的顺序输出。 输入格式: 输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

    91310发布于 2019-11-08
  • 来自专栏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
  • 来自专栏漫流砂

    自定义协议 | 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
  • 来自专栏刷题笔记

    7-4 括号匹配 (25 分)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/shiliang97/article/details/101472923 7-4 括号匹配 (25 分) 给定一串字符,不超过100个字符,可能包括括号

    97630发布于 2019-11-08
  • 来自专栏数据结构和算法

    7-4 学生成绩排序 (15分)

    7-4 学生成绩排序 (15分) 输入格式: 输入一个正整数n(n<50),下面n行输入n个学生的信息,包括:学号、姓名、三门课程成绩(整数)。

    39410编辑于 2023-11-30
  • 来自专栏算法与数据结构

    PTA 7-4 排座位(25 分)

    7-4 排座位(25 分) 布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!

    1.6K90发布于 2017-12-29
  • 来自专栏游戏杂谈

    wireshark解析自定义的protobuf协议

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

    4.9K30发布于 2018-11-20
  • 来自专栏张泽旭的专栏

    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
  • 来自专栏freesan44

    PTA 7-4 素数等差数列 (20 分)

    2004 年,陶哲轩(Terence Tao)和本·格林(Ben Green)证明了:对于任意大的 n,均存在 n 项全由素数组成的等差数列。例如 { 7,37,67,97,127,157 } 是 n=6 的解。本题就请你对给定的 n 在指定范围内找出一组最大的解。

    37500发布于 2021-09-10
  • 来自专栏我的博客

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

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

    18710编辑于 2025-12-22
  • 来自专栏InvQ的专栏

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

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

    1.2K40发布于 2020-11-13
  • 来自专栏云原生可观测性

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

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

    3.8K20发布于 2020-06-17
  • 来自专栏iOS逆向与安全

    iOS自定义视图:阅读并同意注册协议 【用户协议及隐私政策入口】

    1.2 使用按钮处理点击事件实现超链接功能 2.1 设置约束的最大值 2.2 设置约束的最小值 前言 1.1 使用富文本API NSLinkAttributeName 实现超链接功能 iOS《用户协议及隐私政策 》弹框: 1、包含超链接属性、demo支持中英文切换 2、文章地址:https://kunnan.blog.csdn.net/article/details/103902362 3、《用户协议及隐私政策 》 弹框的实现步骤: 3.1、自定义TextView,采用富文本属性进行内容设置attributedText(包括下划线NSUnderlineStyleSingle、超链接NSLinkAttributeName 1.2 使用按钮处理点击事件实现超链接功能 用户协议及隐私政策入口,使用按钮处理点击事件实现超链接功能 原文地址:https://kunnan.blog.csdn.net/article/details 在这里插入图片描述 I 、用户协议及隐私政策 1.1 使用富文本API NSLinkAttributeName 实现超链接功能 iOS《用户协议及隐私政策》弹框 iOS 《用户协议及隐私政策》弹框:包含超链接属性

    2.6K40发布于 2021-07-05
  • 来自专栏freesan44

    PTA 7-4 最近的斐波那契数 (20 分)

    =1。所谓与给定的整数 N 最近的斐波那契数是指与 N 的差之绝对值最小的斐波那契数。

    45410发布于 2021-09-10
领券