-
1:以下、名無しがお送りします
WebSocket使ったサイトって難しいよな
-
3:以下、名無しがお送りします
HTTPと違って サーバーとクライアントが双方向に通信できるんだよな
-
7:以下、名無しがお送りします
>>3 そうそう 接続を確立したらメッセージのやり取りができる
-
11:以下、名無しがお送りします
よくチャットとか作るのに使われるよな
-
17:以下、名無しがお送りします
セキュリティはどうなの? HTTPSみたいに暗号化とかできるの?
-
27:以下、名無しがお送りします
>>17 WebSocketでもwssスキームを使えば TLS暗号化通信ができるよ
-
37:以下、名無しがお送りします
>>27 なるほど 平文で通信するのは危ないもんな
-
39:以下、名無しがお送りします
認証とかはどうするの?
-
41:以下、名無しがお送りします
>>39 WebSocketの仕様では認証についてはあまり触れられてないんだよね
-
50:以下、名無しがお送りします
>>41 なので認証周りは自前で実装する必要がある
-
55:以下、名無しがお送りします
>>50 例えばクッキーやAuthorizationヘッダーを使ってトークン認証するとかかな
-
64:以下、名無しがお送りします
WebSocketって同時接続数とかどのくらいまでいける?
-
71:以下、名無しがお送りします
>>64 それはサーバーのスペックとかにもよるけど 数万とかいけるらしいよ
-
74:以下、名無しがお送りします
>>71 ただ大量の接続を捌くには適切なアーキテクチャ設計が必要だな
-
81:以下、名無しがお送りします
あとはDDoS対策とかも考えないとな
-
89:以下、名無しがお送りします
>>81 そうだね WebSocketはコネクション張りっぱなしだから DoS攻撃とかに弱い
-
90:以下、名無しがお送りします
>>89 ロードバランサーとかでトラフィック分散するのが良さそう
-
97:以下、名無しがお送りします
あとはクライアント側の実装で気をつけることってある?
-
104:以下、名無しがお送りします
>>97 WebSocketの接続が切れたときの再接続処理とかかな
-
106:以下、名無しがお送りします
>>104 あとエラーハンドリングもしっかりやらないと
-
116:以下、名無しがお送りします
データのやり取りって主にどんな感じでやるの?
-
119:以下、名無しがお送りします
>>116 JSONとか使うのが一般的だと思う
-
128:以下、名無しがお送りします
>>119 サーバー側でJSONにエンコードして クライアントで受け取ってデコードする感じ
-
136:以下、名無しがお送りします
1つのWebSocketでいろんな種類のデータを送受信したい場合はどうするの?
-
141:以下、名無しがお送りします
>>136 メッセージの種類を識別するためのフィールドを用意するのがいいかも
-
149:以下、名無しがお送りします
>>141 typeとかeventみたいなフィールドをJSONに入れて それで処理を分岐させるとか
-
154:以下、名無しがお送りします
WebSocketってHTTP通信に比べてどのくらい速いの?
-
158:以下、名無しがお送りします
>>154 一般的にはWebSocketの方が速いと言われてるね
-
166:以下、名無しがお送りします
>>158 ヘッダのオーバーヘッドが少ないし コネクション確立の手間もない
-
176:以下、名無しがお送りします
>>166 用途に合ってれば レイテンシを低く抑えられるのがメリットだね
-
182:以下、名無しがお送りします
逆にWebSocketを使うのに向いてないユースケースってある?
-
191:以下、名無しがお送りします
>>182 単発のリクエスト/レスポンスでいい場合はHTTPの方が向いてるかな
-
192:以下、名無しがお送りします
>>191 あとはサーバー側のリソース管理が大変になるから そこも考慮が必要
-
195:以下、名無しがお送りします
プロキシとかロードバランサーを挟むときの注意点は?
-
199:以下、名無しがお送りします
>>195 WebSocketの場合 アップグレードリクエストをちゃんと処理できるものじゃないとダメだね
-
206:以下、名無しがお送りします
>>199 あとはタイムアウトの設定とか 適切にしないと切断されちゃう
-
214:以下、名無しがお送りします
全体的にWebSocketのデメリットって何かある?
-
221:以下、名無しがお送りします
>>214 コネクション管理が大変なのと ブラウザとサーバー両方で対応が必要なのがデメリットかな
-
226:以下、名無しがお送りします
>>221 あとは障害が起きたときの影響が大きいところとか
-
232:以下、名無しがお送りします
なるほど WebSocketを使うときは メリットデメリットをよく理解した上で設計するのが大事だね
WebSocketを使う時の注意点!
コメント3件
RubyでシンプルなWebSocketサーバーをゼロからつくってみた
!https://www.honeybadger.io/blog/building-a-simple-websockets-server-from-scratch-in-ruby/本記事はこちらの英語...
コメント(3件)
-
12024年4月11日 05:51
wss必須だよねやっぱり
-
22024年4月11日 07:04
同時接続数えぐい サーバー頑張れ
-
32024年4月11日 08:57
typeフィールド便利そう 実装してみるか