ホームページ > バックエンド開発 > Golang > Golang ウェブソケット

Golang ウェブソケット

WBOY
リリース: 2024-02-05 21:18:03
転載
1123 人が閲覧しました

Golang websocket

#質問の内容

次のコード スニペットの意味を説明できる人はいますか?

リーリー ###完全版:### リーリー

2 人目の参加者がチャット チャネルに参加したときに、なぜこのチャット機能が実行できるのかよくわかりません。

正解


HTTPハンドラーがWebソケットを作成し、相手の接続を待ち始めたようです。これは、HTTP リクエストを処理するときにハンドラーが

match
を呼び出しますが、

partner チャネルが読み取り可能でも書き込み可能でもないため、select でブロックされるためです。それをリッスンしたり、送信したりするゴルーチンはありません。 2 番目のリクエストが来ると、別の goroutine から match

が再度呼び出されます。これで 2 つの goroutine が存在し、

match が可能になります。 goroutine の 1 つは partner チャネルに送信でき、もう 1 つの goroutine はそれを受信します。転送の対象はリーダーとライターであり、2 つのパートナー間の通信に使用されます。

以上がGolang ウェブソケットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート