Netty 和 SSL websocket 客户端

Posted

技术标签:

【中文标题】Netty 和 SSL websocket 客户端【英文标题】:Netty and SSL websocket client 【发布时间】:2013-09-05 12:23:40 【问题描述】:

我正在努力使用 Netty 4.0.8 Websocket 客户端示例和 SSL,我似乎无法将数据发送到 Netty SSL websocket 服务器示例。尽管有很多关于这个问题的帖子,(我相信我都经历过),最常见的建议是在管道的开头添加一个 sslHandler ,但它不起作用。握手似乎是成功的,因为它也被指示到相关问题here。

我记得我在使用 4.0.0 版本时遇到了同样的情况,但我设法让它工作了。但是,当我升级到 4.0.8 时,事情(和 API)发生了变化。

Netty 开发人员可以在示例中添加一个有效的 Websocket SSL 客户端示例吗?许多人在这个问题上苦苦挣扎,这将是有用的。也许解决方案太简单了,但举个例子就清楚了。再次,很抱歉重新发布一个可能已经存在的问题,但相关问题也没有得到解答,我的声誉太低,无法对其他相关问题添加评论:)

【问题讨论】:

请以“功能请求”的形式打开一个问题,以便我们一有周期就可以添加它。 【参考方案1】:

我似乎找到了解决我自己问题的方法。客户端上的示例代码使用了 channel.write() 方法,该方法似乎没有将消息发送到 Websocket ssl 服务器。通过使用 channel.writeAndFlush() 代替,消息被正确地发送到服务器。

【讨论】:

write() 方法将在其缓冲区已满时发送消息。 writeAndFlush() 方法立即发送消息(写入缓冲区,然后刷新缓冲区)。

以上是关于Netty 和 SSL websocket 客户端的主要内容,如果未能解决你的问题,请参考以下文章

netty系列之:使用netty搭建websocket服务器

netty系列之:使用netty搭建websocket客户端

netty系列之:使用netty搭建websocket客户端

Netty 和 Channels 和 Websockets

javascript客户端和netty服务器之间的安全websocket连接

网络I/o编程模型18 netty通过websocket实现服务,客户端通信