Ошибка 404 при опросе с socket.io, 200 OK без опроса - PullRequest
0 голосов
/ 08 апреля 2019

Я использую весенний загрузочный сервер (tomcat 9 на localhost: 8680) в качестве бэкенда для карточной игры с включенным CORS.Я хочу, чтобы все клиенты были в курсе, когда кто-нибудь делает пьесу.Я использовал socket.io для опроса ответа, получаемого от бэкэнда (на localhost: 4200)

Без опроса код работает нормально, и консоль браузера не выдает ошибку CORS.но когда я использую socket.io для опроса, он выдает ошибку

"Access to XMLHttpRequest at 'http://localhost:8680/socket.io/?EIO=3&transport=polling&t=MdzLHJ0' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource."

Spring Boot API

@CrossOrigin
@GetMapping(value = "/currentState", produces ={MediaType.APPLICATION_JSON_VALUE})
    public ResponseDataModel currentState() {
        return testObjects.dummyResponseModel();
    }

Angular 7 компонент

ngOnInit() {
    this.socket = io.connect('http://localhost:8680/cards/currentState');
    this.socket.on('event',(data : any) =>{
      this.refreshPage();
    })
  }

refreshPage(){
    this.httpClient.get('http://localhost:8680/cards/currentState').subscribe((res : ResponseDataModel)=>{
      this.responseDataModel = res;
    });

  }

, когда я неЯ использую socket.io Я получаю этот заголовок ответа при вызове 'http://localhost:8680/cards/currentState', и приложение просто отлично работает.

Access-Control-Allow-Origin: *
Content-Type: application/json;charset=UTF-8

Я что-то упустил в угловом компоненте?и почему socket.io пытается получить доступ

'http://localhost:8680/socket.io/?EIO=3&transport=polling&t=MdzLHJ0'
...