ScrapboxのWebSocket内の通信
https://gyazo.com/aa4023a559de2291afdc5a9d3bcd0814
それ以降の数字は0からの通し番号
例えば、4311なら、43と頭につくパケットの内11番目のパケットという意味になる
この通し番号は、クライアントとサーバーの対話時に用いられる
4211に対しては4311が返ってくるといった具合に、通し番号が対応している
見つけたやつを片っ端から書いているだけなので、網羅はしていない
ここのリンクに使われている名称はどれも非公式なので注意
サーバー側から送信されるデータ
サーバー側から受信したデータの番号
0: "open" (Engine.IO)
接続を維持するにあたって必要な情報を送信する
2: "ping" (Engine.IO)
接続維持のための通信
定期的に送られてくる
4: "message" (Engine.IO)
0: "CONNECT" (Socket.IO)
2: "EVENT" (Socket.IO)
ページ内の更新に関する情報
3: "ACK" (Socket.IO)
クライアントからのEVENTに対する応答
コミットIDが返される
クライアント側から送信されるデータ
クライアント側から送信したデータの番号
3: "pong" (Engine.IO)
接続を維持するためには、定期的にこのパケットを送らなければならない
4: "message" (Engine.IO)
0: "CONNECT" (Socket.IO)
2: "EVENT" (Socket.IO)
カーソル(キャレット)の位置をサーバーに送信する
通し番号付きのパケット
このパケットを送信すると、サーバー側から必ず応答が返ってくる
多分ページやプロジェクト全体の更新を受け取るための要求
ページを更新する
行の作成や削除もできる
ピン留めやページ削除もできる