我正在使用Javascript中的EventSource连接到Java Spring Boot端点。
当我将应用程序连接到本地Java服务器时,此方法工作正常,但是在连接至开发服务器时,我每33秒左右就会收到一个net :: ERR_SPDY_PROTOCOL_ERROR 200。
我拥有最新版本的Chrome(v71)。
我在做什么错了?
这是我的Java Spring Boot服务器中的功能:
@CrossOrigin
@RequestMapping(path = {"/sse"})
public SseEmitter handleSse(@RequestParam String callId) {
SseEmitter emitter = new SseEmitter(7200000L);
this.emitters.put(callId, emitter);
emitter.onCompletion(() -> this.emitters.remove(callId));
emitter.onTimeout(() -> this.emitters.remove(callId));
return emitter;
}
答案 0 :(得分:0)
发现问题出在服务器请求超时。我们的服务器将响应发送到请求的时间限制为30秒。但是事件源请求需要保持更长时间。
更改服务器超时限制可以解决此问题。