> 백엔드 개발 > Golang > Go에서 서버 측 웹소켓을 비차단 방식으로 수신하는 방법

Go에서 서버 측 웹소켓을 비차단 방식으로 수신하는 방법

PHPz
풀어 주다: 2024-02-08 20:45:09
앞으로
467명이 탐색했습니다.

如何在 Go 中非阻塞地监听服务器端 websocket

질문 내용

저는 https://pkg.go.dev/golang.org/x/net/websocket을 사용하여 서버측 웹소켓을 생성합니다. 이를 통한 모든 통신은 json 형식입니다. 따라서 내 코드에는 다음이 포함됩니다.

으아악

그러나 이는 클라이언트가 연결을 닫을 때까지 차단됩니다. 나는 이 websocket 패키지가 컨텍스트보다 앞선다는 것을 알고 있습니다(그리고 최신 websocket 패키지가 있다는 것을 알고 있습니다). 하지만 여전히 비차단 방식으로 들어오는 프레임을 기다릴 수 있는 방법이 정말로 없습니까?


정답


클라이언트가 연결을 닫을 때까지 차단합니다.

동시 차단 작업을 처리하는 가장 쉬운 방법은 고루틴을 제공하는 것입니다. 프로세스나 스레드와 달리 고루틴은 본질적으로 "무료"입니다.

으아악

위 내용은 Go에서 서버 측 웹소켓을 비차단 방식으로 수신하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿