Netty 客户端登陆流程

netty之微信-Netty 实现客户端登录(十) 实战:Netty 实现客户端登录 本小节,我们来实现客户端登录到服务端的过程 登录流程       从上图中我们可以看到,客户端连接上服务端之后 客户端会构建一个登录请求对象,然后通过编码把请求对象编码为 ByteBuf,写到服务端。 服务端接受到 ByteBuf 之后,首先通过解码把 ByteBuf 解码为登录请求响应,然后进行校验。 服务端校验通过之后,构造一个登录响... 阅读详情

接上篇,九份小火车的驾驶室

终点站,熟悉吗?《那些年我们追过的女孩》场景之一

到了九份,依山而建,山下远处就是大海

像不像千与千寻里的,宫崎骏的千与千寻就是在这里完成构思

汤婆婆的屋

最后来张小吃店的图,好多小吃,人很多,很温馨。

                                                                               微信公众号

                                              王皓的GitHub:https://github.com/TenaciousDWang

 

        今天来实现Netty客户端登陆功能,服务端收到后返回响应,客户端收到服务端响应后打印到控制台,具体流程图如下。

 

 

        之前我们已经创建了一个客户端和一个服务端,根据上面的登陆逻辑流程先开始实现客户端的发送登录请求的逻辑,我们只需要编写一个登陆逻辑处理器,绑定到channel的逻辑处理链上即可。接下来我们来实现它。

 

         首先来改造一下编码过程的方法为ByteBuf encode(ByteBuf byteBuf,Packet packet),并将PacketCodeC写成单例,不再手动创建ByteBuf,而是从ChannelHandlerContext中获取。

 

 

        然后创建逻辑处理器。

 

 

        连接成功时会调用channelActive方法,我们先创建一个登陆对象,设置数据后,进行编码返回ByteBuf后,为连接写入数据发送。最后我们给客户端添加刚才创建的处理器。

 

 

        接下来我们来创建服务端逻辑处理器,服务端的handler,服务端使用channelRead()方法读取数据,创建登陆响应指令数据包。根据校验用户数据情况填充不同响应数据,写入响应,同样也将这个逻辑处理器给服务端绑定上。

 

 

        最后客户端的Handler需要添加channelRead()方法读取服务端返回的响应数据。

 

 

最后启动服务端与客户端,即可在控制台看到结果~

 

 

springboot项目中使用netty+websocket 实现消息推送(带校验用户是否登陆功能) maven引入包: <!-- websocket --> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.36.Final</versio... 阅读详情

相关推荐

netty原理简介及服务端、客户端详细代码

netty底层是对NIO的封装,封装成像AIO的样子、改进了ByteBuffer,很好用。

qq_38639813的博客 608

Netty从入门到实战(七)--- 实现客户端登录

本系列文章参考内容为 闪电侠 的掘金小册 地址 :Netty入门与实战:仿写微信IM即时通信系统 Netty 实现客户端登录 登录流程 闪电侠在小册中描述的这幅图很形象,完整概括了 客户端连上服务端 之后的全过程,图很清晰,大家看图就行,我便不再赘述了。 逻辑处理器 接下来我们根据登陆流程图来做具体实现: 回顾前面小节提到的客户端和服务端的启动流程,我们需要定义两个处理器。 服务端处理器Se...

程序猿杂货铺 1725

基于Netty的TCP客户端实现与优化:封装断线重连、连接保持、处理线程池重连TCP之后获取Chanel失败问题

是Netty 处理心跳超时事件,在IdleStateHandler设置超时时间,如果达到了,就会直接调用该方法。如果没有超时则不调用。我们重写该方法的话,就可以自行进行相关的业务逻辑处理了。而Channel则会执行所有的OutboundHandler。Netty 使用TCP协议层的Keeplive机制,但是该机制默认的心跳时间是2小时,依赖操作系统实现不够灵活;心跳机制一般来说都是在逻辑层发送空的包来实现的,比如Netty的IdleStateHandler类实现心跳机制。

专注于计算机研发知识和资讯分享 1683

Netty实现客户端登录案例

Netty实现客户端登录案例

weixin_47301645的博客 1774

Netty双向认证以及白名单证书验证

使用Netty搭建服务端配置Https双向认证可以参考此代码

Netty(集成跨平台远程登录)_nettyCAS登入_netty远程登陆_

这是基于netty实现的简单集成跨平台远程登陆

Netty根据自定义编解码器完成最简单的登录和验证

经过上面几个步骤,消息就形成了一个闭环,这个就是一个最简单的登录和验证的过程。最后可能会对 ch.pipeline().addLast(new ProcotolFrameDecoder());这个处理器的作用不太了解,这个就是确保我们消息的完整的处理器,再网络中,一条消息可能不是一条条完整的消息,因为有些消息很长,必须分段,或者有些消息很短单独一次发出去很浪费网络资源,就会把几条短的消息合并在一起一起发送。

qq_52072614的博客 1097

OASIS协议标准文档的解读_第一部分

OASIS标准协议的文档的解读。完整原协议的中文翻译和解读。

洋葱的专栏 4903

Netty实现Unity登录验证(一)

开发环境:JDK1.7,Uniyt5.4.2,数据格式ProtoStuff1.08,Netty5.0.0,数据库MySQL。 代码对应关系如下: 首先实现数据模型设计,用于ProtoStuff数据传输。 这里的类服务端与客户端对应,以便消息的序列化与反序列化。 1 package com.netty.model; 2 3 import java.util.L...

dongbeng5682的博客 547

高等数学/概率论/数理统计/线性代数/离散数学面试-核心概念-问题理解

特征值与特征向量是线性代数中的概念,它们与线性变换有关。在线性变换中,如果存在非零向量 v ,使得当该向量通过变换后,其方向不变,只是长度发生了变化,那么这个向量 v 就是特征向量。而这个长度变化的比例因子,即变换前后向量长度的比值,称为特征值。数学公式表示:通俗易懂的解释:想象一下,你有一个可以伸缩的橡皮筋,这个橡皮筋可以代表一个向量。现在,你有一个特殊的机器,它可以改变橡皮筋的形状,但不会改变它延伸的方向。当你把橡皮筋放入机器中,机器会拉伸或压缩橡皮筋,但橡皮筋的方向保持不变。

m0_64198455的博客 2292

通达信双紫擒龙指标实战指南:从源码解析到精准安装

本文详细解析了通达信双紫擒龙指标的核心逻辑、源码获取与安全验证、安装流程及实战应用技巧。通过紫紫红黄四种颜色信号捕捉趋势转折点,结合MACD、布林通道和成交量加权算法,提升交易准确性。文章还提供了个性化设置、信号解读及常见问题解决方案,帮助投资者高效运用该指标。

weixin_29248611的博客 1054

Netty 客户端数据交互

​ 今天发点人文的东西,这三张图都拍摄于拉卜楞寺。 微信公众号 王皓的GitHub:h...

JavaBoy王皓 1846

实现敌人跟随玩家。(Unity)

首先和玩家设置一模一样,给敌人添加一个刚体,设置一个碰撞器,并设置一个触发器。然后在对场景里面的组件添加导航网格代理并且进行bake烘焙,那样的话敌人就可以在进行烘焙的位置进行移动。创建脚本,并且挂载脚本到敌人的组件上,用代码进行实现效果,并且要挂载目标对象。

weixin_57813136的博客 1869

Netty | 06 - 实现客户端登录

Netty 实现客户端登录的小demo

GangsterChen & Codes 706

GameFramework框架详解之 DataTable配置表模块

一.前言: DataTable模块是项目的配置表模块,配置表一般是从excel导出csv/json/xml格式的,之所以是excel作为源文件,原因是因为策划同学使用配表最方便。然后一键导出到项目中,除了csv/json/xml配置文件外,一般还会伴随着导出配置的实体类,这样研发同学就可以使用了。GameFramework的DataTable模块也是秉持着这种一贯的策略来实现的。 二.DataRow DataRow在excel数据表中,对应的是一行数据,而在代码中对应的其实就是一条数据对象。 接口IData

TxNet 4726

基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像

当前基于MQTT协议设计了一个实时图传系统,通过这个项目来演示,两个MQTT设备如何互相订阅,进行消息流转。 在阿里云服务器上创建2个设备,分为为设备A和设备B;设备A负责采集本地摄像头画面上传,设备B负责接收设备A上传的数据然后解析显示出来。在阿里云服务器上需要配置云产品流转,让设备A的数据上传后自动发送给设备B。这样就完成了视频画面数据的流转。不过因为阿里云的最大数据限制,每次最大发送10240字节的数据。

1万+

Netty(6)-客户端登陆并与服务端收发信息

文章目录一.实现流程图二.代码实现 一.实现流程图 二.代码实现 整体结构图 utils/Attributes /** * @Auther: ARong * @Date: 2020/2/7 9:47 下午 * @Description: channel的参数 */ public interface Attributes { AttributeKey<Boole...

BoringError的博客 796

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Netty系列之Netty安全性

1. 背景 1.1. 严峻的安全形势 1.1.1. OpenSSL Heart bleed漏洞 2014年上半年对网络安全影响最大的问题就是OpenSSL Heart bleed漏洞,来自Codenomicon和谷歌安全部门的研究人员发现OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K内存中 的数据内容。该漏洞在国内被译为” OpenSSL心脏出血漏洞”,因其破坏性之大和

xiaomin1991222的专栏 723

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Netty 重构 客户端与服务端 Pipeline

拍摄于西安大兴善寺。 微信公众号 王皓的GitHub:https://github.com/TenaciousD...

JavaBoy王皓 375

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

微信机器人开发SDK使用教程--客户端选择微信号登陆/登出通知

微信机器人开发SDK使用教程--客户端选择微信号登陆/登出通知 case "WeChatLoginNotice": {// 客户端选择微信号登陆/登出通知 log.debug("websocket:msgtype=WeChatLoginNotice。。。。。"); weChatLoginNoticeWebsocketHandler.handleMsg(ctx, vo,contentJsonStr)...

weixin_30338497的博客 384

【Netty4.X】Unity与Netty使用protoBuf(四)

客户端与服务器端之间传输的数据格式有很多种如Json、XML、thrift、Protobuf等等。protobuf来自谷歌,它的特点是数据小、编解码性能高、支持多种语言,它序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一。更加详细请阅读下面2篇文章:【Google Protobuf】windows下protobuf的环境搭建(一)【Google Protob

程序员小毛驴的博客 4302

springboot使用netty-socketio推送消息

前言 背景 最近被分配了一个站内信模块,由自己单独负责这个模块;这个模块主要功能就是提供一个接口给调用方,然后将传送的消息推送至登录的相关的用户的客户端;然后就是用户对这条消息的操作了,就是写一些curd的接口供前端调用; 技术选用 由于之前用netty做过一个项目,而且一位大佬也写了很多关于netty的文章,第一时间就想到去看他写的设计一个百万级的消息推送系统; 然后仔细对比了一下,我负责这个...

weixin_33767813的博客 3730

Netty是干什么的?

Netty是什么? 1)本质:JBoss做的一个Jar包 2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序 3)优点:提供异步的、事件驱动的网络应用程序框架和工具 通俗的说:一个好使的处理Socket的东东 如果没有Netty? 远古: java.net + java.io 近代: java.nio 其他: Mina,Grizzly

fly_zhyu的博客 6801

Netty ChannelHandler Hot Plug 热插拔

​ 2016年拍摄于台湾省垦丁帆船石,第一张海面雾化使用了减光镜加长时间曝光。 微信公众号 王皓的GitHu...

JavaBoy王皓 372
上一篇: Netty 二进制通信协议设计
下一篇: Netty 客户端和服务端发送与接受消息
JavaBoy王皓
博客等级 码龄11年 23粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值