php editor Banana では、x/net ライブラリを使用して 403 エラーをスローする Websocket サーバーを実装する方法を紹介します。 Websocket は、クライアントとサーバーの間に永続的な接続を確立する通信プロトコルであり、403 エラーはサーバーがクライアントの要求を拒否したことを意味します。 x/net ライブラリを使用すると、Websocket サーバーを簡単に作成し、必要に応じて 403 エラーをスローしてリクエストを拒否できます。この方法はシンプルかつ効果的であり、リクエストを承認したりアクセスを制限したりする必要があるシナリオに適しています。
標準ライブラリ x/net/websocket
を使用して WebSocket サーバーを実装しようとしています。
これまでの私の試みは次のとおりです:
リーリー複数の ws クライアントを使用して ws://localhost:3000/ws
に接続しようとすると、常に同じエラーが発生します: 403-Forbidden
。
公式ドキュメントの例も試してみましたが、それでもうまくいきました。明らかな何かを見逃しているでしょうか?デフォルトのポートブロックなどのようなものですか?
編集: 問題を再現するには、別のポートを使用する必要がある場合があります。この例で
3000 を使用すると、プログラムが利用できない場合には、プログラムの実行が中断されるだけです。
websocat 'ws://localhost:3000/ws' を実行してサーバーへの接続を試行できます
「Go で Websocket サーバーを最初から作成するチュートリアル」 に従っている場合は、やめてください。ビデオは時代遅れであり、ビデオの作成方法については優れた直感を提供しますが、Gorilla の WebSocket ライブラリを使用して学ぶのが最善です (恥ずかしくないです)。 リーリー
また、パス パラメーターを使用するためにgorilla/mux も使用しました (なぜ http ハンドラーが使用できないのかはわかりません)。
http.Handle を
mux.Router.HandleFunc に変更したことに注目してください。
ユーザー @Cerise がコメントで指摘したように、
x/net/websocket パッケージは標準ライブラリには含まれていませんが、
Origin ヘッダーを追加しただけでは元の問題は解決されませんでした。 。
以上がx/net ライブラリ trowing 403 を使用した Websocket サーバーの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。