Code Monkey home page Code Monkey logo

websocket's Introduction

WebSocket

C++ WebSocket library for QT Creator - for internal project EuleHakenBot mainly

Use it yourself

You can build the library by cloning this repo, opening the WebSocket.pro file (from top directory) with QT Creator, selecting WebSocket by right-clicking on it, and hitting Build "WebSocket". Then, you can include the outcoming .lib file into your project.

You can also add this the WebSocket library as a submodule, which is prefered from my side. This is possible by doing this:

  • Open the directory you want to place the repo/library into (For example: lib/)
  • Run this in your terminal:
        git submodules init
        git submodules add https://github.com/EuleHaken/WebSocket.git
  • Create a file named, e.g. WebSocket.pri inside your lib/ folder
    • That file should contain this code (you can change the WEBSOCKET_NAMESPACE to whatever you want):
      DEFINES += WEBSOCKET_NAMESPACE=EuleHaken
      include(../libs/WebSocket/WebSocket/WebSocket.pri)
      
  • Now, open up the YOUR_PROJECT.pro file
  • Add this somewhere in that file: include(libs/WebSocket.pri)

If you have any issues or questions, you can create an issue here at any time

websocket's People

Contributors

eulehaken avatar

Stargazers

Roman avatar

Watchers

 avatar

websocket's Issues

Archive project

See: EuleHaken/EuleHakenBot#9

I will not remove this project and its code, but instead archive it.

If other projects in the future use the same WebSocket like approach, we can always come back to this project.

Better naming

I am quite unsure if WebSocket is the right name for this project.

The main use case will be, connecting to twitch, which we do by connecting to this adress: wss://irc-ws.chat.twitch.tv:443 or irc://irc.chat.twitch.tv:6697 or just irc.chat.twitch.tv

So I'm thinking of renaming some stuff to IrcSocket or IrcClient. But that sounds wrong aswell..

Could use some help or some second opinions here

Create (automated) tests

I honestly have no clue on how to create (automated) tests in QT Creator with this current setup.

I am willing you switch over to CMake to use Google Test. (Because AFAIK it won't work with qmake)

What I tried till now, wasn't working. It either didn't include the gtest library, or it added the test files into my WebSocket.pri and then into SOURCES, which I don't want or I wasn't able to include anything, like e.g. or "WebSocket.hpp"....

If someone could help me out with an approach with CMake and Google Test I would be extremely thankful, because I'm strugglin here...

(I also have a Stackoverflow question about this here)

Create c++ library with QT Creator

So I made two projects for this example. The first one, lets say this is my project I want to work on, is named here example_for_libraries. The other project, which should become a shared library, which I can then use in my example_for_libraries project, is called asdXdShared (ignore the naming, it's all just supposed to be a simple example).

Here is the asdXdShared.pro file:
image
It is located inside the asdXdShared project folder (ignore the path at the top)

Here is the asdXdShared.pri file, which is located inside example_for_libraries/libs/asdXdShared.pri:
image

I include this .pri file in my project (example_for_libraries) like this:
image

This is the file example_for_libraries.pro located in the project path of the project example_for_libraries.

This is how the build tree looks like for the example_for_libraries project:
image

And this is the build tree for the asdXdShared project:
image

These are the same trees just as type file system I think:
(example_for_libraries)
image

(asdXdShared)
image

Now, in my project (example_for_libraries) I can do this, in, e.g. file main.cpp:
image

Note the include path! It contains libs/asdXdShared and then the actual AsdXdShared.hpp file

That is exactly what I dont want.

I want to be able to include the files like this:
#include "AsdXdShared.hpp"

What do I need to to, or what do I need to specifiy, so that I am able to do this?



I took some inspiration from the communi/libcommuni project, for which you can just do:
#include "IrcConnection.hpp"
For example, and not:
#include "libs/libcommuni/src/core/IrcConnection.hpp"

By adding a file like, e.g. libs/libcommuni.pri containing this into your project folder (or project/libs folder):
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.