Releases: cculianu/WebSocket
Releases · cculianu/WebSocket
Web Socket for Qt5/6
A lightweight RFC 6455 (Web Socket) implementation for Qt5 & Qt6 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.2.2
- Updated the code to compile out of the box with Qt6.
- All of the code code in
WebSocket.cppandWebSocket.hwas Qt6-ready already, since it relied on low-level classes from Qt5 which are almost identical in Qt6 - The only change: updating the test app:
TestEchoClientServer.cppto useQRegularExpression(present in Qt5 and Qt6), rather than the deprecatedQRegExp
- All of the code code in
Web Socket for Qt5 v1.2.1
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.2.1
- MSVC compile fixups -- now this library can just work out-of-the-box if using the Microsoft Visual Studio compiler. Thanks to @micpub for this fix. (I don't use MSVC hence the need for his fix).
Web Socket for Qt5 v1.2.0
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.2.0
- Fixed an issue where we were formatting the header
QStringusing the multi-pass.arg(), which might cause problems if the origin name contained e.g.%1. This has been fixed -- we now only use the single-pass.arg(s1, s2, ...)where such bugs would be possible. - Added an example to the project called
TestEchoClientServeravailable inexamples/. - Added some user-contributed examples in
examples/contrib.
Web Socket for Qt5 v1.1.1
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.1.1
- Fixed an issue where we were possibly doing unaligned
quint32access in the ping function. On x86 this is not a big deal, but theoretically on some architectures this may be problematic (officially this is UB in C++).
Web Socket for Qt5 v1.1.0
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.1.0
- Fixed an issue where
wss://sockets were not working with some browsers. Thanks to @EchterAgo for this fix. Includes back-ports from the Fulcrum codebase (which uses this lib): - Fixed "deprecation warnings" when compiling against Qt 5.15.x.
Web Socket for Qt5 v1.0.1
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).
What's new in v1.0.1
- Fixed a compile error on some 32-bit architectures (such as ARM). All files should now compile and work on 32-bit as well as 64-bit.
Web Socket for Qt5
A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com
Key highlights
- Supports both
ws://andwss://Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.handWebSocket.cppinto your project - Easy to use with existing codebases:
- Unlike the
QWebSocketmodule from Qt, this code's main class,WebSocket::Wrapperinherits fromQTcpSocketand thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocketthat itself inherits fromQTcpSocket.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapperlives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.handWebSocket.cppinto your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).