美文网首页
Qt C++与Android Netty之间传输字节码问题

Qt C++与Android Netty之间传输字节码问题

作者: 闭上说 | 来源:发表于2021-03-30 17:40 被阅读0次

1 技术栈结构

服务端是qt c++写的,客户端是android移动设备,程序语言为java。

2 技术流

android端连接服务器,之间的通讯协议用protobuf,传输的是字节码流。qt :QByteArray; Java : byte[]数组

3 发送数据

Qt:

QTcpSocket conn;

QByteArray ba;

conn.write(ba.data(), ba.length());

Android:

Bootstrap bootstrap =new Bootstrap();

bootstrap.group(group).channel(NioSocketChannel.class)

.option(ChannelOption.TCP_NODELAY,true)

.handler(new ChannelInitializer() {

@Override

                protected void initChannel(SocketChannel ch)throws Exception {

ch.pipeline()

.addLast(new ByteArrayEncoder())//这个很关键

.addLast(new ByteArrayDecoder())//这个很关键

.addLast(new NettyHandler(new NettyHandler.HandlerCallback() {

@Override

                                public void onError() {

if(mListener !=null){

mListener.onError(ERROR_RECV);

}

}

@Override

                                public void onDataRecv(byte[] data) {

if(mListener !=null){

mListener.onRecvData(data);

}

}

}));

}

});

mChannelFuture =bootstrap.connect(host, port)

.addListener(future -> {

boolean isSuccess = future.isSuccess();

if(isSuccess ==true){

if(mListener !=null){

mListener.onConnectSuccess();

}

}else{

if(mListener !=null){

mListener.onConnectFail();

}

}

})

.sync();

}catch (Exception e){

e.printStackTrace();

group.shutdownGracefully();

if(mListener !=null){

mListener.onError(ERROR_CONNECT);

}

}

相关文章

  • Qt C++与Android Netty之间传输字节码问题

    1 技术栈结构 服务端是qt c++写的,客户端是android移动设备,程序语言为java。 2 技术流 and...

  • Netty笔记之八:自定义通信协议

    Netty中双方建立通信之后,对象数据会按照ByteBuf字节码的方式进行传输。 自定义一种通信协议,协议将传输数...

  • Java面试题集二

    今日面试又遇到了一些题目,先记录下来 1、netty怎么处理粘包问题 netty底层走的是TCP协议,传输的是字节...

  • netty tcp以16进制字节码的形式与硬件通信

    netty 以16进制字节码和硬件通信技术交流QQ群 1093476453 1 核心代码 需要把16进制的字节码...

  • netty的学习

    title: netty的学习tags: [netty] 最近写android的tcp通信,用来传输文件,用原生的...

  • ###JAVA I/O

    I/O流用于解决设备之间的数据传输问题。比如内存和硬盘之间的数据传输或者网络之间的数据传输 一、字节流的传输 输入...

  • java byte无法存unsiged byte的解决

    java代码在与c,c++代码做数据传输时,通常会碰到c++中使用无符号字节unsigned byte 进行数据发...

  • 字节码引用检测原理与实战

    一、字节码与引用检测 1.1 Java字节码 本章中的字节码重点研究Java 字节码,Java字节码(Java b...

  • Android学习笔记 手动执行Java字节码

    Android学习笔记 手动执行Java字节码 @[Android, 字节码] 背景 这一次是玩安卓知识星球的第二...

  • 2018-04-16

    丛林战争Socket: 字节转换问题【数据在服务端和客户端之间传输时由于只能传输Byte[],因此需要把要传输的数...

网友评论

      本文标题:Qt C++与Android Netty之间传输字节码问题

      本文链接:https://www.haomeiwen.com/subject/tjpghltx.html