socket.io got EIO=4 update!

An update that no one needed and expecting

Peviously 上集提要:

I thought socket.io has completed its mission, who could have imagined the underlying engine.io could received a v4 update somewhere in June? (EIO=4)

socket.io我還以為已經完成了歷史任務,怎知到在年中其底層engine.io還有v4版 (EIO=4)。

In v4, the standard WebSocket has become the primary transport. One needs not to use polling at all but directly connect with WebSocket, all without those complicated upgrade handshaking. Under v4+WebSocket transport, socket.io effectively becomes an WebSocket wrapper+customized ping/pong mechanism (and wasting one byte in every message dedicated to control frame type).

在v4版,就變成以標準WebSocket為主要連線方式了,可以不經polling而直接用WebSocket連接,不再需要轉折的connection upgrade握手程序。在v4+WebSocket之下socket.io就只是一個封裝了WebSocket+一個自定義的ping/pong機制 (以及每個message浪費1個byte做control frame type),僅此而已。

And…Some servers upgraded to v4, and somewhat broke my client — the server would refuse the reconnect request in a strange way upon disconnection. I finally couldn’t stand this and fire up the debugger/Visual Studio, and found upgrading to v4 fixes the issue.

然後,某一家的server升級了之後,我的client好像就變得奇奇怪怪,在reconnect時有時會拒絕連接。今天終於受不了而去debug,發現用v4方式就解決了。

And hence, I am also publishing the changes to the C# client library which I thought won’t receive any update.

所以也順道更新了一下還以為不會再更新的C# client library。

「IT9,你的資訊真的很有用」 你好 我就係IT9 Trust me I am IT9 // fb@it9gamelog, youtube@it9gamelog