← 戻る

GameLiftのGo用Server SDKを作ってみたい(3)

2020-02-23

引き続き、engine.io のクライアント実装を書いてみる。

https://gist.github.com/neguse/05a497f651c99455caa1410282caf049

実際に書いてみると理解が間違っていたところがあった。

XHR の場合、Client→Server のデータ送信は Client からの POST リクエストに載っているのだけど、この POST のレスポンスに Server→Client のデータ送信も(バッファに溜まっている場合)含まれるものだと思っていた。これは違っていて実際には POST レスポンスには”ok”という文字だけが入っていて、Server→Client のデータ送信は Client からの GET リクエストのレスポンスにのみ含まれる。

タイムアウト周りとか websocket への upgrade とかいろいろ足りてないところはありそうな気がするけど、いったん動きそうな気持ちになってきたので引き続き socket.io を調べて実装していく。