Ab sgcWebSockets 4.4.8 wurde das Log der WebSocket-Nachrichten verbessert. Bislang wurden die Nachrichten so gespeichert, wie sie vom Socket gesendet/empfangen wurden, d. h. wenn eine WebSocket-Nachricht vom WebSocket-Client gesendet wurde, wurde sie zuerst maskiert und dann ins Log geschrieben. Da die Nachricht maskiert war, ließ sie sich nicht leicht lesen, sodass das Log für die vom Client gesendeten WebSocket-Nachrichten unbrauchbar war (Gleiches galt für WebSocket-Nachrichten, die der Server empfing).
Jetzt werden die WebSocket-Frames standardmäßig unmaskiert gespeichert (das lässt sich über die Eigenschaft LogFile.UnMaskFrames anpassen). Wenn der Client also eine Nachricht sendet, wird sie unmaskiert gespeichert, und wenn der Server eine WebSocket-Nachricht empfängt, wird sie ebenfalls unmaskiert gespeichert (im Fall des Servers wird sie maskiert und unmaskiert gespeichert, da der Server mehrere Protokolle handhaben kann und beim Lesen des Buffers nicht weiß, welches Protokoll gerade verwendet wird).
WebSocket-Client maskierte Nachrichten
Vor dieser Änderung wurden die gesendeten WebSocket-Nachrichten maskiert gespeichert und der Text war nicht lesbar.
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-Client unmaskierte Nachrichten
Unten findest du das Log, in dem die gesendeten Nachrichten nicht maskiert sind.
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.
