websocketとgolangに関するbluevinylのブックマーク (5)

  • 100万回のWebSocket接続とGo | POSTD

    こんにちは。私はSergey Kamardin(セルゲイ・カマルディン)です。Mail.Ru(ロシアの電子メールサービス会社)で開発者をしています。 この記事では、どのように私がGoを使って高負荷対応のWebSocketサーバを開発したかについて説明したいと思っています。 パフォーマンス最適化のアイデアやテクニックを通じて、WebSocketの知識はあるもののGoについてはほとんど知らないという方のお役に立てれば幸いです。 1. はじめに まずは開発に至った経緯について、どうして私たちがこのサーバを必要としたのかを説明しておきましょう。 Mail.Ruには多くのステートフルなシステムがあります。ユーザのeメール保存もその1つです。システム内、およびシステムイベントの状態変更を追跡する方法にはいくつかの種類がありますが、それらは主に状態変更に関するシステム通知、または周期的なシステムのポーリ

    100万回のWebSocket接続とGo | POSTD
  • Golangでchannelを使いたい - Adwaysエンジニアブログ

    Adways Advent Calendar 1日目の記事です。 http://blog.engineer.adways.net/entry/advent_calendar/archive Adwaysアドベントカレンダー1日目を担当します、安藤です。 業務では主にrubyを使っていますが、今回はchannelを使いたかったのでgoにしました。(笑) 今回学習として簡素なチャットを作ってみました。 channelを使った箇所は、 入退室管理 メッセージ送信 です。 モデル 今回は一つのroomで複数のクライアントが接続するのを想定してます。(最大でどれほどのクライアントが作れるかは試してません。) package main import ( "github.com/gorilla/websocket" "log" "net/http" ) // クライアント type client str

    Golangでchannelを使いたい - Adwaysエンジニアブログ
  • Tutorial: Getting Started with Websockets in Go

    by Nick Gauthier on 2016-03-29 Websockets are one of the core technologies MeetSpace uses to connect people on a call. In this post, we’ll look at how to get started with Websockets in JavaScript and Go. Websockets on the Server We’ll dive right into the http handler for a websocket. If you’re unfamiliar with writing http servers in Go, start with my tutorial on http servers. At this point, we hav

    Tutorial: Getting Started with Websockets in Go
  • golang で websocket | tech | golang - 氾濫原

    websocket.JSON を使った場合 JSON をやりとりする場合専用の方法がある (JSON-RPC ライクな実装を書いてみた場合) package main import ( "fmt" "log" "net/http" "code.google.com/p/go.net/websocket" ) type JSONRPCRequest struct { Method string `json:"method"` Params []interface{} `json:"params"` Id uint `json:"id"` } type JSONRPCResponse struct { Id uint `json:"id"` Result interface{} `json:"result"` Error interface{} `json:"error"` } type JS

  • WebSocket · Build web application with Golang

    8.2 WebSocket WebSocketはHTML5の重要な特徴です。これはブラウザに基づいたリモートsocketを実現します。ブラウザとサーバが全二重通信することができ、多くのブラウザ(Firefox、Google ChromeとSafari)ではすでにサポートされています。 WebSocketが現れる前はリアルタイム通信を実現するために、"ポーリング"とよばれる技術が全面的に採用されていました。すなわち、特定の時間間隔においてブラウザがサーバに対しHTTP Requestを送信し、サーバはリクエストを受け取った後、最新のデータをブラウザに返してリロードします。"ポーリング"ではブラウザがサーバに対して絶え間なくリクエストを送っており、大量の帯域幅を占有します。 WebSocketは特殊なパケットヘッダを採用しています。ブラウザとサーバはハンドシェイクの動作のみを必要とするだけで、

  • 1