processone / tsung

Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.
http://www.process-one.net/en/tsung/
GNU General Public License v2.0
2.52k stars 404 forks source link

Support RFC 7395 (WebSocket) framing #397

Closed weiss closed 1 year ago

weiss commented 1 year ago

Support WebSocket framing as per RFC 7385 for opening and closing the stream.

This behavior is only enabled if <jabber type="connect" version="websocket" [...]/> is specified. Enabling it by default for WebSocket connections would require more changes to the code, which currently has a strict separation of the transport vs. application layers, with no access to the state of the other layer.

Resolves #164.

guusdk commented 1 year ago

I have tested this change with good results: it now becomes possible to have XMPP interaction over websockets.

There are optimisations possible, but the change as-is removes an impossibility.