netty处理多种请求4.1客户端怎么发送post请求

最近跟银行调试一个接口的时候行方说明是TCP/IP socket同步短链接的方式,开始采用socket和niosocket都不行最后采用了了netty处理多种请求形式发送,代码很简单就是创建一个ChannelHandlerAdapter.主要代码如下

本來是想单独写个sendMessage方法去发送message的,后来发现sendMessage这个方法的里面的ctx时而为空有时又正常,因为channelActive这个继承的方法会在建立链接时执行就初始化ctx,感觉没道理会为空想了半天,于是把这个两个方法执行的线程打印出来才发现执行activeThread方法的线程是nioEventLoopGroup,而执行sendMessageThread方法的线程是主线程main.

虽然茬main方法中是client.connect先执行但是建立连接确是另一个线程完成的,不在是main线程而sendMessage是main线程执行,会出现sendMessage和channelActive并不是按照固定顺序执行说白了就是誰抢的快谁执行。。所以要想在获取ctx后再发送message直接将发送报文这一步写在channelActive里面。

}

我要回帖

更多关于 netty处理多种请求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信