タグ

WebSocketとGoに関するdelegateのブックマーク (3)

  • Go標準でブラウザにイベントストリーミングする

    WebSocketのツラミ 中継サービスの対応がないと切れる ルーターによっては長時間アクセスがないと切れる 切れたら繋ぎなおすのはクライアントの実装次第 セキュアにつなぐためにはサーバーもクライアントも新バージョンのサポートが必要 接続数が膨れず、安定して接続を維持するのには結構ノウハウが求められる 単純に切れたら即繋ぐでは中継やサーバーに問題が発生することもある そこでEventSourceですよ メジャーブラウザでサポート・互換性も高い プロトコル仕様がただのHTTPロングポール+アルファ なのでほとんどの接続経路で中継トラブルが少ない JSのEventSource実装がセッション維持を頑張ってくれる サーバーから切断されたら再接続をしようとする 特にGoなら標準機能でさっくりサーバーが書ける クライアント実装 let es = new EventSource("/sse"); es

    Go標準でブラウザにイベントストリーミングする
  • Go言語 で Websocket サーバ(docker-compose.yml もあるよ) - s平面の左側

    プライベートで開発しているプロダクト用の技術調査。 とりあえず簡単に、受け取ったメッセージをそのまま返すサーバを実装した。 github.com docker-compose up して client/index.html をブラウザで開くと、開発者コンソールから「Message from server echo {"msg":"hello world!"}」の出力が確認できる。 Golang の実装部分は下記の Qiita 記事をそのまま参考にしたので、解説はそちらを参照のこと。 Go 言語で Websocket を使ったアプリケーションをつくる 余談 *-test ってリポジトリ名がなんだか微妙な感じがした。 practice とか、 training とかがいいのかな? 2018-06-09 追記 あまりよく確認していなかったが trevex/golem は長らく更新のないプロジェク

    Go言語 で Websocket サーバ(docker-compose.yml もあるよ) - s平面の左側
  • WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD

    Webアプリにリアルタイムの双方向通信が必要な場合、WebSocketを選ぶのは自然なことだと思います。では、どのツールでWebSocketサーバを構築すべきでしょうか。パフォーマンスは重要ですが、開発のプロセスも見過ごしてはなりません。パフォーマンスを基準にするだけでなく、開発のしやすさも考慮に入れるべきでしょう。今回の大合戦では、Clojure、C++、Elixir、Go、NodeJS、Rubyのそれぞれの言語によって慣用的な手法で実装されたシンプルなWebSocketサーバを比較したいと思います。 テスト内容 サーバに実装するのは、 echo と broadcast の2つのメッセージのみを扱う非常に単純なプロトコルです。echoは送信クライアントに返され、ブロードキャストは全ての接続クライアントに送信されます。そしてブロードキャストが完了すると、結果メッセージが送信者に返されます。

    WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD
  • 1