Skip to content

Releases: cculianu/WebSocket

Web Socket for Qt5/6

02 Aug 09:22
298af82
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 & Qt6 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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 and WebSocket.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 use QRegularExpression (present in Qt5 and Qt6), rather than the deprecated QRegExp

Web Socket for Qt5 v1.2.1

14 Apr 15:59
fef62dd
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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

23 Feb 22:06
728c7d0
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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 in examples/.
  • Added some user-contributed examples in examples/contrib.

Web Socket for Qt5 v1.1.1

08 Dec 10:50
e527093
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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

25 Jul 16:23
06c4ac9
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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

05 Jul 23:57
e04aea7
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. 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

18 Apr 20:42
d7b6000
Compare
Choose a tag to compare

A lightweight RFC 6455 (Web Socket) implementation for Qt5 by Calin Culianu calin.culianu@gmail.com

Key highlights

  • Supports both ws:// and wss:// Web Sockets.
  • Support both client-side and server-side mode of operation.
  • Easy to integrate: just copy WebSocket.h and WebSocket.cpp into your project
  • Easy to use with existing codebases:
    • Unlike the QWebSocket module from Qt, this code's main class, WebSocket::Wrapper inherits from QTcpSocket 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 from QTcpSocket.
  • 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

  1. Copy WebSocket.h and WebSocket.cpp into your project.
  2. Enjoy! (The license here is MIT so you can use this in any project, commercial or open source).