PHP Editor Banana는 x/net 라이브러리를 사용하여 403 오류를 발생시키는 Websocket 서버를 구현하는 방법을 소개합니다. Websocket은 클라이언트와 서버 사이에 지속적인 연결을 설정하는 통신 프로토콜이며, 403 오류는 서버가 클라이언트의 요청을 거부했음을 의미합니다. x/net 라이브러리를 사용하면 Websocket 서버를 쉽게 생성하고 필요할 때 403 오류를 발생시켜 요청을 거부할 수 있습니다. 이 방법은 간단하고 효과적이며 요청을 승인하거나 액세스를 제한해야 하는 시나리오에 적합합니다.
x/net/websocket
표준 라이브러리를 사용하여 웹소켓 서버를 구현하려고 합니다.
지금까지 제가 시도한 내용은 다음과 같습니다.
으아악여러 ws 클라이언트를 사용하여 ws://localhost:3000/ws
时,我总是收到相同的错误:403-Forbidden
에 연결해 보세요.
공식 문서의 예제를 시도해 보았지만 여전히 이해가 됩니다. 나는 분명한 것을 놓치고 있습니까? 기본 포트 차단이나 그와 유사한 것 같은가요?
미리 감사드립니다.
편집: 문제를 재현하려면 다른 포트를 사용해야 할 수도 있습니다. 내 예에서 3000
를 사용하면 프로그램을 사용할 수 없는 경우 프로그램 실행이 중단됩니다.
편집 2: websocat과 같은 클라이언트를 사용하고 websocat 'ws://localhost:3000/ws'
를 실행하여 서버에 연결을 시도할 수 있습니다.
포기했지만 좋은 통찰력을 얻었습니다. 당신이 나와 같고 Anthony GG의 Walkthrough of Creating a Websocket Server on Scratch를 따르고 있다면 하지 마세요. 비디오는 오래되었으며 비디오 제작 방법에 대한 좋은 직관을 제공하지만 고릴라의 웹소켓 라이브러리를 사용하여 배우는 것이 가장 좋습니다(부끄럽지 않습니다).
으아악또한 gorilla/mux
를 사용하여 경로 매개변수를 사용합니다(http 핸들러가 왜 할 수 없는지 잘 모르겠습니다).
내가 어떻게 추가했는지 주목하세요 http.Handle
更改为 mux.Router.HandleFunc
.
@Cerise 사용자가 댓글에서 지적했듯이 x/net/websocket
包不在标准库中,但仅添加 Origin
패키지는 표준 라이브러리에 없지만 Origin
헤더를 추가하는 것만으로는 원래 문제가 해결되지 않았습니다.
이렇게 하면 저와 같은 다른 사람들이 Go를 배우면서 겪게 되는 어려움이 줄어들기를 바랍니다.
위 내용은 x/net 라이브러리 trowing 403을 사용한 웹소켓 서버 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!