Releases: cculianu/WebSocket
Releases · cculianu/WebSocket
Web Socket for Qt5/6
A lightweight RFC 6455 (Web Socket) implementation for Qt5 & Qt6 by Calin Culianu [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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.cpp
andWebSocket.h
was 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.cpp
to 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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
QString
using 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
TestEchoClientServer
available 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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
quint32
access 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into 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 [email protected]
Key highlights
- Supports both
ws://
andwss://
Web Sockets. - Support both client-side and server-side mode of operation.
- Easy to integrate: just copy
WebSocket.h
andWebSocket.cpp
into your project - Easy to use with existing codebases:
- Unlike the
QWebSocket
module from Qt, this code's main class,WebSocket::Wrapper
inherits fromQTcpSocket
and thus can easily be integrated into existing code. - In other words, the key paradigm offered is basically a generic wrapper for a regular
QTcpSocket
that itself inherits fromQTcpSocket
.
- Unlike the
- Asynchronous mode of operation (requires an event loop in the thread the
WebSocket::Wrapper
lives in). - Requires C++17.
How to use in your project
- Copy
WebSocket.h
andWebSocket.cpp
into your project. - Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).