2013-06-13 1 views
1

wss에서 netty websocket 클라이언트를 사용하는 방법은 무엇입니까?어떻게 wss로 netty websocket 클라이언트를 사용할 수 있습니까?

이제는 하나의 websocket 클라이언트가 필요합니다. netty에 하나의 websocket 예제 (https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/http/websocketx/client/WebSocketClient.java)가 있지만 ws 만 지원합니다. 누가 wss를 지원하는 하나의 websocket 클라이언트 예제를 제공 할 수 있습니까?

누가 나를 도와 드릴까요?

감사

호세


감사

나는 그런 일을 연결하는 예에서 WebSocketClient을 실행 이제 ChannelPipeline의 첫 번째 투수로

SSLEngine sslEngine = SSLContextProvider.get().createSSLEngine(); 
sslEngine.setUseClientMode(true); 
pipeline.addLast("ssl", new SslHandler(sslEngine)); 

을 SslHandler를 넣어 wss가있는 websocket 서버에서 하나의 오류가 발생합니다 :

WebSocket Client sending message 
java.lang.ClassCastException: io.netty.handler.codec.http.websocketx.TextWebSocketFrame cannot be cast to io.netty.buffer.ByteBuf 
    at io.netty.handler.ssl.SslHandler.write(SslHandler.java:389) 
    at io.netty.channel.DefaultChannelHandlerContext.invokeWrite0(DefaultChannelHandlerContext.java:716) 
    at io.netty.channel.DefaultChannelHandlerContext.access$26(DefaultChannelHandlerContext.java:713) 
    at io.netty.channel.DefaultChannelHandlerContext$18.run(DefaultChannelHandlerContext.java:705) 
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:353) 
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:365) 
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) 
    at java.lang.Thread.run(Unknown Source) 

어떻게 고칠 수 있습니까?

답변

7

ChannelPipeline의 첫 번째 핸들러로 SslHandler를 넣기 만하면됩니다. 그게 다야.

관련 문제