public class WebSocketFrameHandler extends SimpleChannelInboundHandler {
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
new Thread(()-> ctx.channel().writeAndFlush(new TextWebSocketFrame("I am channel active"))).start();
}
}
像上面那样写可以发送数据到客户端,但是
ctx.channel().writeAndFlush(new TextWebSocketFrame("I am server"));
这样写不可以发送,请问是什么问题?
netty 版本:
io.netty
netty-all
4.1.27.Final
小伙子,你没有握手
需要加解密转码,协议传递是bytebuf字节,其他的内容需要转成bytebuf字节处理,对应的接收方还能更改有个bytebuf转消息的过程,当然解码操作可以在channelRead里面自定义处理
我4.0的都不行,醉了
应该是发送了,但是没有收到响应吧;我这边客户端在channelActive方法中发送消息到服务端,也得异步发送,如果同步发送的话,在channelActive方法没有执行完毕前,无法收到服务端发送的消息,即无法进入到channelRead方法