socket.io 라이브러리를 통해 백엔드와 소켓 연결을 만들려고합니다.
문제는 - 긴 폴링 옵션을 해제하고 사용자 지정 경로를 설정해야합니다. 하지만 항상 하나의 옵션 만 사용하기 때문에 둘 다 설정할 수는 없습니다. 나는이 방법을 시도하는 경우
그래서, 나는 path
를하고 있어요,하지만 transports
:socket.io의 등록 정보 전송 및 경로 설정
this.socket = io(
'wss://some-url.com',
{ path: '/v1/url/to/websockets' },
{ transports: [ 'websocket' ] }
);
을 그리고 라이브러리는 서버에 의해 거부됩니다 긴 폴링 연결을 (만들려고 노력하는 I 돈)에 대한 액세스 권한이 있지만 경로가 정확합니다.
하지만 먼저 transports
속성을 순서를 변경하고 설정하기 위해 노력하고있어 경우, 라이브러리는 path
속성을 생략하고 프론트 엔드가 올바르지 않습니다 wss://some-url.com/socket.io/?EIO=3&transport=websocket
URL로 요청을 보낼 것입니다.
transport
속성이 URL을 변경한다는 사실 (즉, 쿼리 매개 변수로 설정 됨) 때문에 충돌이있는 것으로 알고 있지만 이해할 수없는 것은 - 경로와 전송 속성을 어떻게 설정할 수 있습니까? 그렇게 나쁘다.
공식 문서와 여기에서 해결책을 찾지 못했습니다.
아이디어가 있으십니까?
() 내에 있어야한다; 연결을 만들지 않습니다 – WeekendMan
내가 말했듯이, this.socket.connect() 코드는 아무런 움직임도 만들지 않았고, "핸드 셰이크"요청을 보지 못했고, "onconnect"이벤트를 얻지 못했습니다. (물론) – WeekendMan
위의 코드에서 클라이언트는 소켓 서버에 연결되어 있습니다. 그 후에 this.socket.connect()를 호출하는 이유는 무엇입니까 ?? Iwebsocket 전송으로 핸드 쉐이크에 관해서는 101로 응답하는 하나의 HTTP 요청 만있을 것입니다. 연결 이벤트에 대한 내 끝에서 적절하게 호출되고 있습니다. –