出现问题:
js websocket:
WebSocket connection to 'ws://localhost:8888/erp/syscpuram' failed:
eclipse console:
[DEBUG] 17:05:54.917 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:75) - Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@47331b3a:org.apache.tomcat.util.net.NioChannel@154e2fce:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8082 remote=/0:0:0:0:0:0:0:1:9846]], Status in: [OPEN_READ], State out: [OPEN]
[DEBUG] 17:05:54.921 org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:1017) - Pushed Processor [org.apache.coyote.http11.Http11Processor@1af5b2e]
[DEBUG] 17:05:54.927 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:718) - Processing socket [org.apache.tomcat.util.net.NioChannel@154e2fce:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8082 remote=/0:0:0:0:0:0:0:1:9846]] with status [OPEN_READ]
[DEBUG] 17:05:54.927 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:730) - Found processor [null] for socket [org.apache.tomcat.util.net.NioChannel@154e2fce:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8082 remote=/0:0:0:0:0:0:0:1:9846]]
[DEBUG] 17:05:54.928 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:799) - Popped processor [org.apache.coyote.http11.Http11Processor@1af5b2e] from cache
[DEBUG] 17:05:54.928 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:537) - Error parsing HTTP request header
java.io.EOFException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1294)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1228)
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:781)
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:370)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
[DEBUG] 17:05:54.930 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:75) - Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@47331b3a:org.apache.tomcat.util.net.NioChannel@154e2fce:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8082 remote=/0:0:0:0:0:0:0:1:9846]], Status in: [OPEN_READ], State out: [CLOSED]
[DEBUG] 17:05:54.931 org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:1017) - Pushed Processor [org.apache.coyote.http11.Http11Processor@1af5b2e]
[DEBUG] 17:05:54.942 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:537) - Error parsing HTTP request header
java.io.EOFException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1294)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1228)
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:781)
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:370)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
[DEBUG] 17:05:54.942 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:75) - Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@6e92944c:org.apache.tomcat.util.net.NioChannel@507edfff:java.nio.channels.SocketChannel[connected local=/127.0.0.1:8082 remote=/127.0.0.1:9845]], Status in: [OPEN_READ], State out: [CLOSED]
[DEBUG] 17:05:54.942 org.apache.coyote.AbstractProtocol$ConnectionHandler.release(AbstractProtocol.java:1017) - Pushed Processor [org.apache.coyote.http11.Http11Processor@1f1762c1]
[DEBUG] 17:05:54.945 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:537) - Error parsing HTTP request header
java.io.EOFException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1294)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1228)
at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:781)
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:370)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
按照文档步骤,一步一步来的,
入口类:
//ServerEndpoint是websocket的必备注解, value是映射路径, configurator是配置类.
@ServerEndpoint(value = "syscpuram", configurator=NutWsConfigurator.class)
@IocBean // 使用NutWsConfigurator的必备条件
public class SysWebSocket extends AbstractWsEndpoint{
@OnOpen
public void onOpen(Session session, EndpointConfig config) {
System.out.println("1111111111111");
}
}
js:
var ws = new WebSocket(`ws://${window.location.host}/erp/syscpuram`);
// 连接成功后,会触发onopen回调
ws.onopen = function(event) {
console.log("websocket onopen ...");
// 加入home房间
ws.send(JSON.stringify({room:'home',"action":"join"}));
};
nginx配置:
listen 8888;
location /erp {
proxy_pass http://localhost:8082/;
#proxy_read_timeout 60m;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
}
补充信息:
[INFO ] 17:20:58.117 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.68-SNAPSHOT
[INFO ] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) - - Default Charset : UTF-8
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) - - Current . path : C:\workspace_java\cserp.
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) - - Java Version : 1.8.0_121
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) - - File separator : \
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) - - Timezone : Asia/Shanghai
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) - - OS : Windows 10 amd64
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) - - ServerInfo : Apache Tomcat/8.5.57
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) - - Servlet API : 3.1
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) - - ContextPath :
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) - - context.tempdir : C:\Users\KaiHui\AppData\Local\Temp\tomcat.4405686416431582350.8082\work\Tomcat\0.0.0.0\ROOT
[DEBUG] 17:20:58.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) - - MainModule : com.cs.cserp.MainLauncher
到底是哪里出了问题,求指点