sgcWebSockets 4.4.8 から WebSocket メッセージのログが改善されました。これまでメッセージはソケットが送受信した状態のまま保存されていました。つまり WebSocket クライアントがメッセージを送信すると、まずマスクされてからログに保存されていました。マスクされたメッセージは読みにくいため、クライアントが送信した WebSocket メッセージのログは実質的に役立ちませんでした(サーバーが受信した WebSocket メッセージについても同様)。
現在は WebSocket フレームがデフォルトでアンマスク状態で保存されます(LogFile.UnMaskFrames プロパティでカスタマイズ可能)。クライアントがメッセージを送信するとアンマスク状態で保存され、サーバーが WebSocket メッセージを受信した場合も同様にアンマスク状態で保存されます(サーバーの場合は複数のプロトコルを扱えるため、バッファ読み取り時にプロトコルが判別できず、マスクとアンマスクの両方で保存されます)。
WebSocket クライアントのマスクメッセージ
この変更以前は、送信された WebSocket メッセージはマスクされた状態で保存されており、テキストを読み取ることができませんでした。
Stat Connected. Sent 24/02/2021 10:59:01: GET / HTTP/1.1 Host: echo.websocket.org Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: hKokOwscWkDOF6Y3liZ2yA== Origin: echo.websocket.org Sec-WebSocket-Version: 13 Recv 24/02/2021 10:59:01: HTTP/1.1 101 Web Socket Protocol Handshake Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: content-type Access-Control-Allow-Headers: authorization Access-Control-Allow-Headers: x-websocket-extensions Access-Control-Allow-Headers: x-websocket-version Access-Control-Allow-Headers: x-websocket-protocol Access-Control-Allow-Origin: echo.websocket.org Connection: Upgrade Date: Wed, 24 Feb 2021 09:56:07 GMT Sec-WebSocket-Accept: pgtoE2wbo/G1uvjCN/CX7N6OltE= Server: Kaazing Gateway Upgrade: websocket Sent 24/02/2021 10:59:07: œoŽ´'zâØ ?èÆ r®Ç|ÙÑ Lá×zúÇN>¯• Recv 24/02/2021 10:59:07: Hello from sgcWebSockets!!!! Stat Disconnected. Stat Disconnected. Stat Disconnected.
WebSocket クライアントのアンマスクメッセージ
以下に、送信されたメッセージがマスクされていないログを示します。
Stat Connected. Sent 24/02/2021 11:00:16: GET / HTTP/1.1 Host: echo.websocket.org Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: wSZGb+0KEUZacGDFcz47gg== Origin: echo.websocket.org Sec-WebSocket-Version: 13 Recv 24/02/2021 11:00:16: HTTP/1.1 101 Web Socket Protocol Handshake Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: content-type Access-Control-Allow-Headers: authorization Access-Control-Allow-Headers: x-websocket-extensions Access-Control-Allow-Headers: x-websocket-version Access-Control-Allow-Headers: x-websocket-protocol Access-Control-Allow-Origin: echo.websocket.org Connection: Upgrade Date: Wed, 24 Feb 2021 09:57:22 GMT Sec-WebSocket-Accept: WtGNEtct4WtQ5SAs/PWmvjspj6c= Server: Kaazing Gateway Upgrade: websocket Sent 24/02/2021 11:00:21: [text] Hello from sgcWebSockets!!!! Recv 24/02/2021 11:00:21: Hello from sgcWebSockets!!!! Stat Disconnected. Stat Disconnected. Stat Disconnected.
