Golang サーバーから各ユーザーに送信されるイベント

PHPz
リリース: 2024-02-06 11:39:14
転載
1073 人が閲覧しました

Golang 服务器向每个用户发送的事件

質問内容

Goはしばらく使っていますが、SSEは使ったことがありません。問題があります。特定のユーザー (接続) にのみ送信されるサーバー送信イベントの実例を誰かが提供してもらえますか?

認証にゴリラ セッションを使用しており、UserID を使用して接続を分離したいと考えています。

それとも、Ajax 経由で 5 秒ポーリングを使用する必要がありますか?

###どうもありがとうございます###

私が見つけて試したことは次のとおりです:

    https://gist.github.com/ismasan/3fb75381cd2deb6bfa9c 個々のユーザーには送信されず、接続が閉じられても go 関数は停止しません
  1. https://github.com/striversity/gotr/blob/master/010-server-sent-event-part-2/main.go これはまさに私が必要とするものですが、接続が削除されると。そのため、ブラウザを閉じてプライベート ウィンドウで開くと、まったく機能しなくなります。また、上で述べたように、Go ルーチンは継続します。
正解

接続しているユーザーにメッセージを配布するための「ブローカー」を作成します:
リーリー

プロキシを使用してパッケージ レベルで変数を宣言します:

リーリー

プロキシを使用した sse エンドポイントの書き込み:

リーリー

broker.sendtouser を呼び出すコードをアプリケーションに追加します。

以上がGolang サーバーから各ユーザーに送信されるイベントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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