Railsで/cableなどのエンドポイントにAction CableをマウントするとWebSocketサーバとして利用できます。wscatを使ってAction CableによるWebSocket APIと対話的に通信するために、送信するデータの形式などを調べました。 準備 wscat WebSocket cat. Contribute to websockets/wscat development by creating an account on GitHub.
こんにちは。 Cryptogamesで働いているじゅん(@BoNingennnN)です。 最近仕事でAcitionCableを使う機会がありました。 RailsでWebsocket通信を行うものを実装するなら、ActionCableを使うのがデフォルトです。 リアルタイムのメッセージなどの機能を実装する時に使うことが多いと思います。 ActionCableは若干とっつきにくい部分もありますが、使い慣れてしまえば基本的な部分で詰まることはあまりないと思います。 ですが、Redisの設定ではかなり苦しんだので、今回はそのことを書いていきます。 (ちなみにQiitaには初めて投稿します!) 本番環境でActionCableを使うなら、Redisを使う必要がある。 「ActionCableを使ってみた」というような記事がいくつかあるかと思いますが、その多くではRedisを使っていません。 これは、
Action Cableのしくみ 主にRailsガイドをなぞったもので、冗長なので後に修正したいです。 Action Cableは、フロントのWebSocketとバックエンドのRails周りをシームレスに統合する、フルスタックなフレームワーク。 WebSocketとは、Webにおいての双方向通信を、従来のHTTP等よりも低コストで行うための仕組み。 WebSocketについて調べてみた。 Pub/Subモデル(出版-購読型モデル) 非同期型メッセージパラダイムの1種で、疎結合とそれによるスケーラビリティが利点。 メッセージを送信する側(Publisher)が、特定のメッセージを受信する側(Subscriber)の抽象クラスに情報を送信する。このときPublisherは、個別の受信者を指定しない。 Action Cableは、サーバーと多数のクライアント間の通信にこのアプローチを採用している
はじめに ブラウザ間でP2P通信が実現できれば、ブラウザ上で動作するP2Pアプリが作れて面白そうだなーと思ったのでWebSocketを使って実現してみました。仕組みについては以下で説明していきますが、私が実現した方法は限定的で実用性が低く色々と足りない部分もあるので、軽い気持ちで読んで頂けるとありがたいですw 仕組みの概要 なぜWebSocketを使うのか 従来、Webサーバとクライアント(Webブラウザ)間で非同期に通信するにはXHR(XMLHttpRequest)を用いてきました。基本的にこのXHRは以下の図のように同一ドメインとしか通信できないという制約がありました。*1 しかし、WebSocketのthe Origin-based security modelでは異なるドメインとも通信することが可能になります。WebSocketプロトコルでは、サーバとクライアント間で接続を確立する
リアルタイムにコミュニケーションできる何かが作りたくなりまして、最近よく聞くような気がするWebSocketというやつに手を出してみようと思いました。 ちょっと調べてみると、socket.ioとかNode.jsとか知らないことが多いし、そもそも負荷とかどうなんだろうと疑問は絶えない感じなので、少しずつまとめていきたいと思います。 WebSocket.org | Demos ここにWebSocketのデモとかたくさんあります! WebSocketはHTTPの双方向版 少し調べた結果「WebSocketはHTTPの双方向版」と言えるのかなと分かりました。 HTTPは、クライアントがサーバにリクエストを送った時にしか、サーバからデータを取得することができません。つまり、クライアントが能動的で、サーバは受動的にしか動くことができません。 WebSocketは、常にコネクションを維持することで、サー
(1)Ajax XmlHttpRequestオブジェクト(JavaScript)を利用した非同期通信処理のこと。Googleマップを筆頭とするWebアプリケーションで活用されている。ブラウザからサーバ側に非同期でリクエストを実施してデータを受け取り、JavaScriptにより部分的にページを更新することで、ページ全体を更新するよりも低負荷でサーバと通信できる。また、通信中も操作を継続できるので、エンド・ユーザーの操作を妨げられることもなく、ユーザビリティに優れる。デメリットとして、基本的にブラウザからのリクエストで動作する仕組みなので、サーバ側から自動でデータを送信することはない。
解釈が間違っている点がある可能性が御座いますのでご了承くださいませ。記事の内容としては「Node.js なら他のサーバよりもこんなに簡単に WebSocket が扱える(ライブラリがある)」というような内容となっていますので、ご了承いただければと思います。 Node.js って何? Node.js についてよくわからず最初は以下のページを読んでました。 Node.jsに関する基礎や開発・チュートリアルのまとめ:phpspot開発日誌 例えば、ログイン中の2人がいて、1人がチャットのリクエストをしたとします。でもラグが30秒ほどあって、気付かずに閉じちゃうなんてことがなくなります。 メンバーAのブラウザがメンバーBのブラウザに直接プッシュするってことかと最初は思っていましたが違いました。この点について深く考えていくこととなります。 Node.js を使うと何ができるのか node.js を使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く