首页 > 其他分享 >Netty发送消息无法接收问题

Netty发送消息无法接收问题

时间:2024-05-10 09:59:35浏览次数:24  
标签:Netty ByteBuf buffer bytes Unpooled 发送 byteBuf 接收

Netty发送消息无法接收问题

原因:
参考官网案例代码,继承ChannelHandlerAdapter类,则writeAndFlush只接受ByteBuf对象,因此需要将需要发送的数据转换成ByteBuf
Netty官网案例代码

其他

  1. 字符串转ByteBuf
String str = "haha";
ByteBuf byteBuf = Unpooled.wrappedBuffer(str.getBytes());
  1. 数字转ByteBuf
int number = 123456;
// 创建一个具有足够容量的ByteBuf
ByteBuf byteBuf = Unpooled.buffer(Integer.BYTES); // 这里假设我们要处理的是一个32位整数,如果要处理其他大小的整数,需要调整创建ByteBuf的容量,并相应地使用writeShort、writeLong等方法
// 写入整数到ByteBuf
byteBuf.writeInt(number);
  1. 对象转ByteBuf
//对象要求实现Serializable接口
Date object = new Date();
try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(bos)) {
    oos.writeObject(object);
    byte[] bytes = bos.toByteArray();
    ByteBuf byteBuf = Unpooled.buffer(bytes.length);
    byteBuf.writeBytes(bytes);
} catch (IOException e) {
    e.printStackTrace();
}
  1. 布尔转ByteBuf
boolean bool = true;
ByteBuf byteBuf = Unpooled.buffer(1);
byteBuf.writeByte(bool ? (byte) 1 : (byte) 0);

标签:Netty,ByteBuf,buffer,bytes,Unpooled,发送,byteBuf,接收
From: https://www.cnblogs.com/nicolasfive/p/18183604

相关文章

  • python教程6.6-发送邮件smtplib
    实现步骤: Python对SMTP⽀持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件,它对smtp协议进⾏了简单的封装。简单代码示例:发送html格式的邮件:在html中插入图片: ......
  • 邮件的发送
    邮件发送和接收的协议SMTP协议(SimpleMailTransferProtocol)属于TCP/IP协议族。控制信件的中转方式,帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器是遵循SMTP协议的发送邮件服务器。POP3协议(PostOfficeProtocol-Version3)属于TCP/IP协议族。......
  • 编程:java 发送email程序:通用版本:借鉴“蚂蚁小哥 <[email protected]>”的文章
     1packagecom.alibaba.otter.canal.adapter.launcher.loader;23importjava.text.SimpleDateFormat;4importjava.util.*;5importjavax.mail.*;6importjavax.mail.internet.*;78publicclassJavaxJavaMailClient{910private......
  • phpcms发送邮件
     pc_base::load_sys_func('mail');sendmail($email,'您好,点击链接注册账号','注册账号请点击链接:'."<ahref=".$addr.">".$addr."</a>");会得到一个授权码(很重要)  下面代码,就是一个普通的类/***发送邮件*@p......
  • 多语言 JDBC SQL 发送
    多语言JDBCSQL发送记录各个语言使用JDBC发送SQL的代码片段。Pythonimportjaydebeapi#pipinstalljaydebeapi#JDBC驱动类名driver='com.mysql.jdbc.Driver'#数据库连接URLurl='jdbc:mysql://hostname:port/databasename?characterEncoding=UTF-8&serverT......
  • Springboot+Netty实现http和ws统一端口处理
    http:/localhost:8080/apiws:/localhost:8080/ws核心就是两个channel处理器,http和wswebsocketpackagecom.example.netty;importio.netty.channel.ChannelHandlerContext;importio.netty.channel.SimpleChannelInboundHandler;importio.netty.handler.codec.http.HttpH......
  • Java发送HTTP GET/POST请求
    一、Java11HttpClient在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。Java11HttpClientExample.javapackagecom.lyl.http;importjava.net.URI;importjava.net.URLEncoder;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;im......
  • SMTP发送邮箱(默认用QQ 邮箱发送)
    1.源码`//////SMTP发送邮箱(默认用QQ邮箱发送)//////收件人邮箱///邮件主题///邮件正文///host----->QQ的为smtp.qq.com///port----->QQ的为587///是否添加附件///添加附件路径///是否抄送///抄送地址即抄送多个邮箱*/publicvoidSen......
  • A2P,即Application-to-Person,是一种将信息或服务通过应用程序(如短信)发送给用户的过程
    A2P,即Application-to-Person,是一种将信息或服务通过应用程序(如短信)发送给用户的过程。它广泛应用于各种场景,特别是在市场营销和客户服务领域,因其能够直接接触到用户并提供丰富的交互方式而备受青睐。在A2P的应用中,短信服务扮演着至关重要的角色。例如,在业务触发向个人发送短信的......
  • 【Netty】【XXL-JOB】时间轮的原理以及应用分析
    1 前言今天晚上看了一本70多页的讲解时间轮的PDF,从是什么为什么以及原理到源码中的应用分析,讲的真好。这节我就按我理解的思路捋一下,记录一下哈。2 时间轮概述2.1 时间轮是什么时间轮是一种高效利用线程资源进行批量化调度的一种调度模型。把大批量的调度任务全部绑......