千家信息网

SocketD协议消息加密模式怎么实现

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍"SocketD协议消息加密模式怎么实现",在日常操作中,相信很多人在SocketD协议消息加密模式怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年02月03日SocketD协议消息加密模式怎么实现

这篇文章主要介绍"SocketD协议消息加密模式怎么实现",在日常操作中,相信很多人在SocketD协议消息加密模式怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SocketD协议消息加密模式怎么实现"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SocketD 是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,SocketD可以是RSocket等其他类似协议的替代方案。它的消息协议规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。暂时只提供Java实现,目前做为Solon rpc的sockte通道协议。

本案以简单的消息加密模式为例演示:(在消息上报模式的基础上,增加加密演示)

服务端

//启动服务端public class ServerApp {    public static void main(String[] args) {        //启动Solon容器(SocketD bean&plugin 由solon容器管理)        Solon.start(ServerApp.class, args, app -> {            app.enableSocketD(true);                    //设置加强协议,使用加密协议(客户端也要一同设置)            SocketD.setProtocol(new MessageProtocolSecret() {                @Override                public byte[] encrypt(byte[] bytes) throws Exception {                    return EncryptUtils.aesEncrypt(bytes,"pLft36Ok5zfmP6zI");                }                @Override                public byte[] decrypt(byte[] bytes) throws Exception {                    return EncryptUtils.aesDecrypt(bytes,"pLft36Ok5zfmP6zI");                }            });        });    }}//定义服务端监听@ServerEndpointpublic class ServerListener implements Listener {    @Override    public void onOpen(Session session) {        System.out.println("有客户端链上来喽...");    }    @Override    public void onMessage(Session session, Message message) {        //收到消息,做业务处理        if(message.flag() != MessageFlag.heartbeat){            System.out.println("服务端:我收到心跳");        }else {            System.out.println("服务端:我收到:" + message.bodyAsString());        }    }}

客户端

//启动客户端public class ClientApp {    public static void main(String[] args) throws Throwable {        //启动Solon容器(SocketD bean&plugin 由solon容器管理)        Solon.start(ClientApp.class, args, app->{            //设置加强协议,使用加密协议(服务端也要一同设置)            SocketD.setProtocol(new MessageProtocolSecret() {                @Override                public byte[] encrypt(byte[] bytes) throws Exception {                    return EncryptUtils.aesEncrypt(bytes,"pLft36Ok5zfmP6zI");                }                @Override                public byte[] decrypt(byte[] bytes) throws Exception {                    return EncryptUtils.aesDecrypt(bytes,"pLft36Ok5zfmP6zI");                }            });        });                //创建会话(如果后端是WebSocekt,协议头为:ws)        Session session = SocketD.createSession("tcp://localhost:28080");        //设定30秒自动上发心跳(如果断开了,也尝试自动重链)        session.sendHeartbeatAuto(30);                //上报消息        session.send("Helloworld server!");    }}

到此,关于"SocketD协议消息加密模式怎么实现"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

消息 加密 模式 服务 客户 客户端 容器 学习 更多 帮助 演示 管理 通信 实用 接下来 业务 二进制 分布式 双向 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 sql数据库连接错误 速达新建账套生成不了数据库 东莞管理冷库软件开发 国家网络安全工作局网站 想买三台服务器做云计算实验 windows服务器安全技术 中国文化数据库官网 校园网络安全工作保障情况 北京逗游网络技术公司 传智播客企业级软件开发作业一 怎样修改我的世界服务器图标 苹果6登陆id时无法连接服务器 小学网络安全培训及讲座 网上商店销售信息关系数据库 网络安全宣传课视频下载 服务器开机报警是什么意思 锡山区通用软件开发电子 崂山区ios软件开发解决方案 深圳创见网络技术 腾讯云数据库自动备份 重庆有什么软件开发公司 个性化网络安全管理 java连接多个数据库 国家网络安全工作局网站 上海蕊希网络技术有限公司 企业生产网络安全知识 中国网络安全周演讲 手机导航app软件开发 提供语音聊天软件开发 ftp服务器 软件
0