Netty网络编程-通过POJO序列化进行网络传输

通过对POJO进行序列化后通过Netty进行网络传输。
优点:简单,非常简单,Netty内置相关的Object的编码解码的类包,直接调用就完事了
缺点:Java 本身提供序列化的 性能低、占用空间打(数据流大)、没有跨平台
最简单的解决方案:传输JSON

以下实验使用到的包(Maven):

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.8</version>
      <scope>provided</scope>
</dependency>

<dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-all</artifactId>
      <version>4.1.36.Final</version>
</dependency>

数据模型:

---------------------------------------Class DataReq---------------------------------------------------
import lombok.Data;

import java.io.Serializable;

@Data
public class DataReq implements Serializable {

    /**
     * 默认的序列号ID
     */
    private static final long serialVersionUID = 1L;
    private String dataId;
    private String dataName;
    
    @Override
    public String toString() {
        return "DataReq{" +
                "dataId=" + dataId +
                ", dataName='" + dataName + '\'' +
                '}';
    }
}
---------------------------------------Class DataResp---------------------------------------------------
import lombok.Data;

import java.io.Serializable;

@Data
public class DataResp implements Serializable {
    /**
     * 默认序列ID
     */
    private static final long serialVersionUID = 1L;
    private String dataID;
    private String dataName;
    private String desc;

    @Override
    public String toString() {
        return "DataResp{" +
                "dataID=" + dataID +
                ", dataName=" + dataName +
                ", desc='" + desc + '\'' +
                '}';
    }
}

Server:

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.*;
import io.netty.channel.nio.NioEventLo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值