Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netty 吃水深度10_Netty - Fatal编程技术网

Netty 吃水深度10

Netty 吃水深度10,netty,Netty,我正在尝试在SSL(WSS)之上运行Netty Draft10最新示例 我正在使用以下端口配置: 端口:80:Apache非ssl 端口:443:Apache ssl 端口:8080:Tomcat 端口:8877:Netty Web非SS 端口:9977:Netty SSL 但是当我嵌入SSL处理程序代码时 public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception

我正在尝试在SSL(WSS)之上运行Netty Draft10最新示例

我正在使用以下端口配置:

端口:80:Apache非ssl
端口:443:Apache ssl
端口:8080:Tomcat
端口:8877:Netty Web非SS
端口:9977:Netty SSL

但是当我嵌入SSL处理程序代码时

public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {

    //TODO - Tamir - Add support for Wss
    // Get the SslHandler in the current pipeline.
    // We added it in SecureChatPipelineFactory.
    final SslHandler sslHandler = ctx.getPipeline().get(SslHandler.class);

    // Get notified when SSL handshake is done.
    ChannelFuture handshakeFuture = sslHandler.handshake();
    handshakeFuture.addListener(new Greeter(sslHandler));
}
在WebSocketServerHandler类中,我得到一条错误消息

java.lang.IllegalArgumentException: empty text 
        at org.jboss.netty.handler.codec.http.HttpVersion.<init>(HttpVersion.java:95) 
        at org.jboss.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:68) 
        at org.jboss.netty.handler.codec.http.HttpRequestDecoder.createMessage(HttpRequestDecoder.java:81) 
        at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:198) 
        at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:107) 
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:470) 
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443) 
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:275) 
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:262) 
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:340) 
        at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:271) 
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:191) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
        at java.lang.Thread.run(Thread.java:662) 
java.lang.IllegalArgumentException: invalid version format: ?_?_?__
有什么想法吗

干杯


Tamir

我刚刚上传了一个使用SSL的web套接字的工作示例,我已将其与master合并

请参阅拉取请求:

新代码位于src/main/java/org/jboss/netty/example/http/websocketx/sslserver中

有关安装说明,请阅读package-info.java


让我知道它是否适用于您。

由于我自己遇到了这个问题,我认为它可能值得一提:

在某些情况下,initialLine参数HttpRequestDecoder的解析是错误的。 如果不向URI添加路径,即在不向URL添加/websocket的情况下尝试ws://localhost:8080,则可能会发生这种情况

return new DefaultHttpRequest(HttpVersion.valueOf(initialLine[2]),
                HttpMethod.valueOf(initialLine[0]), initialLine[1]);

HTTP版本字段应该在初始行[2]中,但它出现在初始行[1]中。

谢谢。请您将此标记为已回答,以便我们的过滤器不会显示此问题。谢谢
return new DefaultHttpRequest(HttpVersion.valueOf(initialLine[2]),
                HttpMethod.valueOf(initialLine[0]), initialLine[1]);