[英]cant recieved log object on socket io?
我已经在套接字上配置了日志。 我想读取socket.io(Java)上的日志对象(在套接字上配置)。 当我执行日志程序时,socket-io收到请求,但引发以下异常。
java.lang.IllegalArgumentException: empty text at org.jboss.netty.handler.codec.http.HttpVersion.<init>(HttpVersion.java:103) 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:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) java.lang.IllegalArgumentException: invalid version format: TIMESTAMP[
我从网上获取代码。 这是一个代码链接: https : //github.com/ibdknox/socket.io-netty/tree/master/src/main/java/com/ibdknox/socket_io_netty服务器类链接。 https://gist.github.com/965499
在WebSocketServerHandler中 ,您似乎要处理HTTP请求或WebSocketFrame
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
Object msg = e.getMessage();
if (msg instanceof HttpRequest) {
handleHttpRequest(ctx, (HttpRequest) msg);
} else if (msg instanceof WebSocketFrame) {
handleWebSocketFrame(ctx, (WebSocketFrame) msg);
}
}
但是在WebSocketServerPipelineFactory中 ,您正在使用HttpRequestDecoder。
public ChannelPipeline getPipeline() throws Exception {
// Create a default pipeline implementation.
ChannelPipeline pipeline = pipeline();
pipeline.addLast("decoder", new HttpRequestDecoder());
如果使用的是HttpRequestDecoder,则至少需要有一个有效的HTTP请求行以及一个Content-Length标头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.