>  기사  >  백엔드 개발  >  Gorilla Websocket 및 alexedwards/scs/v2를 사용하여 http.Hijacker를 구현하는 방법

Gorilla Websocket 및 alexedwards/scs/v2를 사용하여 http.Hijacker를 구현하는 방법

PHPz
PHPz앞으로
2024-02-10 13:21:081243검색

如何使用 Gorilla Websockets 和 alexedwards/scs/v2 实现 http.Hijacker

PHP Apple 편집자는 오늘 Gorilla Websocket과 alexedwards/scs/v2 라이브러리를 사용하여 http.Hijacker를 구현하는 방법을 소개합니다. 이 방법은 개발자가 채팅방이든 실시간 업데이트 등 자신의 애플리케이션에서 실시간 통신 기능을 구현하는 데 도움이 될 수 있으며 이러한 방식으로 구현할 수 있습니다. 다음으로 이 두 라이브러리를 사용하여 http.Hijacker를 구현하여 애플리케이션을 더욱 강력하고 유연하게 만드는 방법을 자세히 설명하겠습니다.

질문 내용

Go 웹 애플리케이션의 뛰어난 alexedwards/scs/v2는 최근 Go 1.20+에서 http.NewResponseController()를 지원할 수 있도록 2.5.0에서 2.7.0으로 업그레이드되었습니다. 이후에 대용량 파일 업로드에 대한 확장 처리기 특정 서버 쓰기 시간 초과를 허용합니다. 이것은 좋다. 이 필수 업그레이드의 불행한 결과는 현재 Gorilla 웹소켓 v1.5.1(최신)을 사용하는 웹소켓 기능의 손실입니다. 업그레이드를 위해 연결하려고 할 때 일반적인 오류가 발생합니다... websocket: 응답이 구현되지 않았습니다. http.Hijacker 이에 대한 몇 가지 스레드를 조사했는데 그 중 일부는 SO에 관한 것이지만 이 사례와 관련된 어떤 것도 해결할 수 없었습니다. 저는 다른 미들웨어 코드와 함께 웹소켓 엔드포인트 핸들러에서 http.Hijacker를 구현하기 위해 몇 가지 시도를 했습니다(주석 처리, 설명을 위해 "오해의 소지가 있는" 예제 첨부)... 저는 이것을 이해했다고 생각합니다. 충분하지 않습니다. ..

으아악

이 예에서 "w"는 *scs.sessionResponseWriter입니다. 연결을 끊고 업그레이드하지 않고 응답에서 http.Hijacker를 구현하려면 어떻게 해야 합니까? 올바른 접근 방식은 무엇입니까?

해결 방법

alexedwards/scs/v2 패키지 버전 2.5.0 하이재커 인터페이스를 지원합니다. 버전 2.7.0은 Hijacker 인터페이스를 지원하지 않지만 응답 컨트롤러 지원을 지원합니다. 고릴라 웹소켓 패키지 응답 컨트롤러를 사용하지 않습니다.

옵션 1

alexedwards/scs/v2 패키지 2.5.0을 사용합니다.

옵션 2

애플리케이션 코드에서 응답 작성기의 압축을 풀어 고릴라 패키지 결함을 해결하세요.

으아악

위 내용은 Gorilla Websocket 및 alexedwards/scs/v2를 사용하여 http.Hijacker를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제