Commit 432a1b1e by huangfusuper

Netty 服务端 结果写入客户端方式修改为回调方式

parent 08c1cab7
......@@ -2,10 +2,12 @@ package com.byit.server.netty.handler;
import com.byit.dto.web.ReturnResult;
import com.byit.enums.ResponseTyEnum;
import com.byit.executor.handler.interfaces.IJobHandler;
import com.byit.factory.PluginServerFactory;
import com.byit.packet.request.PluginRpcRequestPacket;
import com.byit.packet.response.PluginRpcResponsePacket;
import com.byit.param.ResultCallback;
import com.byit.task.handler.interfaces.IJobHandler;
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;
......@@ -26,6 +28,12 @@ public class NettyPluginServerHandler extends SimpleChannelInboundHandler<Plugin
this.threadPoolExecutor = threadPoolExecutor;
}
/**
* //TODO 这一块有问题 不能返回两次结果 考虑能否加一个结果回调,回调的方式由自己实现
* @param ctx
* @param msg
* @throws Exception
*/
@Override
protected void channelRead0(ChannelHandlerContext ctx, PluginRpcRequestPacket msg) throws Exception {
PluginRpcResponsePacket transferPluginRpcResponse = new PluginRpcResponsePacket();
......@@ -49,9 +57,18 @@ public class NettyPluginServerHandler extends SimpleChannelInboundHandler<Plugin
rpcResponsePacket.setExtension(msg.getExtension());
}
rpcResponsePacket.setType(ResponseTyEnum.RESPONSE.getType());
ctx.channel().writeAndFlush(rpcResponsePacket);
rpcResponsePacket.setRequestId(msg.getRequestId());
//ctx.channel().writeAndFlush(rpcResponsePacket);
ResultCallback resultCallback = msg.getResultCallback();
if (resultCallback != null) {
System.out.println(resultCallback);
resultCallback.resultCallback(ctx,rpcResponsePacket);
}
});
transferPluginRpcResponse.setRequestId(msg.getRequestId());
transferPluginRpcResponse.setStatus(true);
transferPluginRpcResponse.setCode("00000000");
transferPluginRpcResponse.setMsg("调用成功");
transferPluginRpcResponse.setExtension(msg.getExtension());
transferPluginRpcResponse.setType(ResponseTyEnum.TRANSFER.getType());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment