Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting a error from the TCPServer using the Arduino GIGA R1 WIFI on the ESP-32Client code. #145

Open
markieboy223 opened this issue Apr 19, 2023 · 18 comments
Assignees

Comments

@markieboy223
Copy link

Describe the bug
error: expected ')' before '' token
WebsocketsServer(network::TcpServer
server = new WSDefaultTcpServer);
error: 'TcpServer' in namespace 'websockets::network' does not name a type
network::TcpServer* _server;

To Reproduce
Steps to reproduce the behavior.
This should include:

  • 0.5.3
  • Arduino GIGA R1 WIFI
  • Arduino IDE

Expected behavior
To connect to the given websocketserver and receive my helloworld message from the websocketserver.

Code
Im using the File->Examples->ArduinoWebsockets->Esp-32Client code.

Additional context
Add any other context about the problem here.

@markieboy223
Copy link
Author

Please help as quickly as possible i really need this to work fast :-)

@pawellen
Copy link

pawellen commented Aug 5, 2023

Any update on this?

@cpp-tutor
Copy link

A little late with this, but I have had some success adapting the Portenta H7 code from the WebSockets2_Generic library to use with GIGA R1 WiFi. Since no other websocket support for this board is apparently available, and this library itself is archived read-only by the author, I have created a fork: https://github.com/cpp-tutor/WebSockets2_Generic

Basic usage (header-only functionality so dependencies not needed):

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

Any comments, queries or problems, please raise an issue there.

@AfdulRohmat
Copy link

hello sir @cpp-tutor

I have a project related to websockets on Arduino Giga R1 WiFi and I am trying to use solution you provided. But I still get the same error as in the main issue

error: expected ')' before '*' token WebsocketsServer(network2_generic::TcpServer* server = new WSDefaultTcpServer); error: 'TcpServer' in namespace 'websockets2_generic::network2_generic' does not name a type network2_generic::TcpServer* _server;

here is my code. I took the reference from Portenta H7 code from the WebSockets2_Generic (as you mentioned) :

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
// #include <WiFi.h>
#include <WebSockets2_Generic.h>

using namespace websockets2_generic;

const char* ssid = "my_wifi";
const char* password = "my_password";
const char* websockets_server_host = "192.xxx.x.x";  // since i use in localhost
const uint16_t websockets_server_port = 3000;

WebsocketsClient client;

int status = WL_IDLE_STATUS;

void onEventsCallback(WebsocketsEvent event, String data) {
  (void)data;

  if (event == WebsocketsEvent::ConnectionOpened) {
    Serial.println("Connnection Opened");
  } else if (event == WebsocketsEvent::ConnectionClosed) {
    Serial.println("Connnection Closed");
  } else if (event == WebsocketsEvent::GotPing) {
    Serial.println("Got a Ping!");
  } else if (event == WebsocketsEvent::GotPong) {
    Serial.println("Got a Pong!");
  }
}
void setup() {
  Serial.begin(9600);
  while (!Serial && millis() < 5000)
    ;

  Serial.print("\nStarting Portenta_H7-Client using WiFi on ");
  Serial.println(BOARD_NAME);
  Serial.println(WEBSOCKETS2_GENERIC_VERSION);

  // check for the WiFi module:
  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    while (true)
      ;
  }

  Serial.print(F("Connecting to SSID: "));
  Serial.println(ssid);

  status = WiFi.begin(ssid, password);

  delay(1000);

  // attempt to connect to WiFi network
  while (status != WL_CONNECTED) {
    delay(500);

    // Connect to WPA/WPA2 network
    status = WiFi.status();
  }

  if (WiFi.status() == WL_CONNECTED) {
    Serial.print("Connected to Wifi, IP address: ");
    Serial.println(WiFi.localIP());
    Serial.print("Connecting to WebSockets Server @");
    Serial.println(websockets_server_host);
  } else {
    Serial.println("\nNo WiFi");
    return;
  }

  // run callback when messages are received
  client.onMessage([&](WebsocketsMessage message) {
    Serial.print("Got Message: ");
    Serial.println(message.data());
  });

  // run callback when events are occuring
  client.onEvent(onEventsCallback);

  sendMessage();
}


void sendMessage() {
  // try to connect to Websockets server
  bool connected = client.connect(websockets_server_host, websockets_server_port, "/");

  if (connected) {
    Serial.println("Connected!");

    String WS_msg = String("Hello to Server from ") + BOARD_NAME;
    client.send(WS_msg);
  } else {
    Serial.println("Not Connected!");
  }
}

void loop() {
  // let the websockets client check for incoming messages
  if (client.available()) {
    client.poll();
  }
}

Maybe there's something I'm missing or there's something wrong with my approach ?

@cpp-tutor
Copy link

Hi @AfdulRohmat

I have successfully compiled your code above on my machine, so could I ask if you are definitely using my fork of Websockets2_Generic instead of the upstream (and Arduino repo) version?

If you are still having difficulties please contact me.

@AfdulRohmat
Copy link

image

Hello Mr. @cpp-tutor . Apologize for my late response

I used the official library on Arduino as shown in the image above. Could the problem be caused by this ? since I think the library is from the original version which does not support Arduino Giga R1

Do I have to manually install the library you forked to Arduino?

@cpp-tutor
Copy link

Hi @AfdulRohmat

In reply, yes you will need to perform a manual install. This involves going to https://github.com/cpp-tutor/WebSockets2_Generic and choosing "Code <> --> Download ZIP". Then in Arduino IDE 2.x choose "Sketch --> Include Library --> Add .ZIP Library" and navigate to the saved zip file (you may want to uninstall the existing WebSockets2_Generic library first).

You should then see version "1.14.0" in the list of installed libraries (your screenshot above shows "1.13.2"). I believe following this process will fully solve your issue.

Regards, Richard

@AfdulRohmat
Copy link

Hi Mr @cpp-tutor

I see, thank you very much for the instruction, i will try those instruction very soon and also update the result, hopefully it can works

@AfdulRohmat
Copy link

image
image

Hi mr @cpp-tutor

I've tried updating the library and it successfully compiled!

But I got a new problem where I can't connect to localhost from my server. I have entered my IPv4 address in the websockets_server_host variable but it still doesn't work

Previously I had tried running my websocket project in postman and it works smoothly

Note: WiFi connection is successfully connected

@cpp-tutor
Copy link

Hi @AfdulRohmat

Thank you for your feedback, I'm glad that you got your code compiling.

I must confess that I didn't either flash or run your code, but one thing I did notice is that the method connect() should take the form ws://192.x.x.x according to the docs. Maybe you could try adding this to the websockets_server_host variable?

You might like to take a look at my two other Arduino projects in order to see working code using this library, in particular "pforth" which hosts a web-based terminal. The original author has made the upstream repo read-only so raising issues either there or on my fork is not possible, and this isn't really the best place to go into more detail, so if you are still having problems please email me directly or raise an issue on "pforth".

Regards, Richard

@markieboy223
Copy link
Author

A little late with this, but I have had some success adapting the Portenta H7 code from the WebSockets2_Generic library to use with GIGA R1 WiFi. Since no other websocket support for this board is apparently available, and this library itself is archived read-only by the author, I have created a fork: https://github.com/cpp-tutor/WebSockets2_Generic

Basic usage (header-only functionality so dependencies not needed):

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

Any comments, queries or problems, please raise an issue there.

Hi, sorry for the late response aswell. I managed to get a client working with the arduinohttpclient library for the giga. Unfortunately i’m running into some difficulties there aswell such as it needing a immideate response message to perform a handshake.

I will try your solution tomorrow, does it still work?

@markieboy223
Copy link
Author

Hi @cpp-tutor i am trying to connect to a signalR websocketServer of mine, that protocol is a bit different because it expects a message to perform a handshake. Do you perhaps know a way to fix this?

image

@cpp-tutor
Copy link

cpp-tutor commented Aug 2, 2024 via email

@markieboy223
Copy link
Author

markieboy223 commented Aug 2, 2024

Hi @markieboy223,I'm afraid I don't have any ideas about how to solve your specific problem. My fork simply adapts the Portenta H7 code to GIGA, which works for my own purposes.You could try asking the upstream author who may be able to assist further.https://github.com/khoih-prog/WebSockets_Generic

Hi, no worries i fixed it. Did some deep diving into the websocketclient.hpp and it works now. Protocol for signalR is different so it required some adjustment. Also i noticed it’s wss and not ws so that needed to be declared in the client.connect()

@markieboy223
Copy link
Author

markieboy223 commented Aug 6, 2024

@cpp-tutor Are you able to pass the websocketclient into a .h and .cpp file with you sketch somehow?

Main.ino

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>
#include "SocketHandler.h"

using namespace websockets2_generic;

const char* ssid = "";
const char* password = "";
const char* websockets_server_host = "";

WebsocketsClient client;
SocketHandler socketHandler(client);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Connected to WiFi");

  socketHandler.setup();
}

void loop() {
  socketHandler.loop();
}

SocketHandler.h:

#ifndef SOCKET_HANDLER_H
#define SOCKET_HANDLER_H

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

using namespace websockets2_generic;

class SocketHandler {
private:
    WebsocketsClient& client;

    void onEvent(WebsocketsEvent event, String data);
    String urlencode(const String &data);

public:
    // Constructor taking a WebsocketsClient reference
    SocketHandler(WebsocketsClient& client);

    void setup();
    void loop();
};

#endif

SocketHandler.cpp:

#include "SocketHandler.h"

// Constructor
SocketHandler::SocketHandler(WebsocketsClient& client) : client(client) {}

void SocketHandler::onEvent(WebsocketsEvent event, String data) {
    Serial.println("Event: " + String((int)event));
    if (event == WebsocketsEvent::ConnectionOpened) {
        Serial.println("Connection Opened");
        String handshakeMessage = "{\"protocol\":\"json\",\"version\":1}\x1E";
        client.send(handshakeMessage);
        Serial.println("Handshake message sent.");
    } else if (event == WebsocketsEvent::ConnectionClosed) {
        Serial.println("Connection Closed: " + data);
    }
}

String SocketHandler::urlencode(const String &data) {
    String encoded;
    for (size_t i = 0; i < data.length(); i++) {
        char c = data[i];
        if (c == ' ') {
            encoded += '+';
        } else if (c == '-' || c == '_' || c == '.' || c == '~' ||
                   (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') ||
                   (c >= 'a' && c <= 'z')) {
            encoded += c;
        } else {
            encoded += '%';
            encoded += String((c >> 4) & 0x0F, HEX);
            encoded += String(c & 0x0F, HEX);
        }
    }
    return encoded;
}

void SocketHandler::setup() {
    // No need to reinitialize WiFi, assume it's handled elsewhere
    Serial.println("Setting up WebSocket...");

    client.onMessage([](WebsocketsMessage message) {
        Serial.println("Message: " + message.data());
    });

    client.onEvent([this](WebsocketsEvent event, String data) { this->onEvent(event, data); });

    // Prepare authentication data
    String authData = "{}";
    String encodedAuthData = urlencode(authData);

    // Construct URL with encoded auth data
    String url = String("wss://") + "" + "/myhub?auth=" + encodedAuthData;

    if (client.connect(url)) {
        Serial.println("Connected to WebSocket server");
    } else {
        Serial.println("Failed to connect to WebSocket server");
    }
}

void SocketHandler::loop() {
    client.poll();
}

Gives this error:

C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:79: multiple definition of websockets2_generic::WebsocketsServer::~WebsocketsServer()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:79: multiple definition of websockets2_generic::WebsocketsServer::~WebsocketsServer()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:105: multiple definition of websockets2_generic::WebsocketsServer::~WebsocketsServer()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::getAuthorization[abi:cxx11]()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:121: multiple definition of websockets2_generic::WebsocketsClient::getAuthorizationabi:cxx11'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:161: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::shouldAddDefaultHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition of websockets2_generic::shouldAddDefaultHeader(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:176: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::isWhitespace(char)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:119: multiple definition of websockets2_generic::isWhitespace(char)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:323: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::isCaseInsensetiveEqual(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:121: multiple definition of websockets2_generic::isCaseInsensetiveEqual(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:337: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::doestStartsWith(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:122: multiple definition of websockets2_generic::doestStartsWith(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:396: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:127: multiple definition of websockets2_generic::WebsocketsClient::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::getCloseReason() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsClient::getCloseReason() const'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1045: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:52: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:52: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::available()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition of websockets2_generic::WebsocketsServer::available()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:56: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::listen(unsigned short)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsServer::listen(unsigned short)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:63: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition of websockets2_generic::WebsocketsServer::poll()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:70: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::messageTypeFromOpcode(unsigned char)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:129: multiple definition of websockets2_generic::messageTypeFromOpcode(unsigned char)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Message.hpp:47: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::internals2_generic::base64_encode[abi:cxx11](unsigned char const*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:130: multiple definition of websockets2_generic::crypto2_generic::internals2_generic::base64_encode[abi:cxx11](unsigned char const*, unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/base64.hpp:50: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::setAuthorization(char const*, char const*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:136: multiple definition of websockets2_generic::WebsocketsClient::setAuthorization(char const*, char const*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:148: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::internals2_generic::base64_decode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:138: multiple definition of websockets2_generic::crypto2_generic::internals2_generic::base64_decode(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/base64.hpp:98: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:149: multiple definition of websockets2_generic::crypto2_generic::base64Encode(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:54: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Encode[abi:cxx11](unsigned char*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:149: multiple definition of websockets2_generic::crypto2_generic::base64Encode[abi:cxx11](unsigned char*, unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:59: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Decode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:150: multiple definition of websockets2_generic::crypto2_generic::base64Decode(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:64: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::websocketsHandshakeEncodeKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:150: multiple definition of websockets2_generic::crypto2_generic::websocketsHandshakeEncodeKey(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:69: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::randomBytes[abi:cxx11](unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:154: multiple definition of websockets2_generic::crypto2_generic::randomBytes[abi:cxx11](unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:81: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::GetCloseReason(unsigned short)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition of websockets2_generic::GetCloseReason(unsigned short)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:46: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::swapEndianess(unsigned long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition of websockets2_generic::internals2_generic::swapEndianess(unsigned long)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:93: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::swapEndianess(unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition of websockets2_generic::internals2_generic::swapEndianess(unsigned long long)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:96: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:157: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:109: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:157: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:109: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:158: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::poll()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:174: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readUntilSuccessfullOrError(websockets2_generic::network2_generic::TcpClient&, unsigned char*, unsigned long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:159: multiple definition of websockets2_generic::internals2_generic::readUntilSuccessfullOrError(websockets2_generic::network2_generic::TcpClient&, unsigned char*, unsigned long)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:179: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readHeaderFromSocket(websockets2_generic::network2_generic::TcpClient&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:160: multiple definition of websockets2_generic::internals2_generic::readHeaderFromSocket(websockets2_generic::network2_generic::TcpClient&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:191: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readExtendedPayloadLength(websockets2_generic::network2_generic::TcpClient&, websockets2_generic::internals2_generic::Header const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:161: multiple definition of websockets2_generic::internals2_generic::readExtendedPayloadLength(websockets2_generic::network2_generic::TcpClient&, websockets2_generic::internals2_generic::Header const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:205: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readMaskingKey(websockets2_generic::network2_generic::TcpClient&, unsigned char*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:163: multiple definition of websockets2_generic::internals2_generic::readMaskingKey(websockets2_generic::network2_generic::TcpClient&, unsigned char*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:225: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readData[abi:cxx11](websockets2_generic::network2_generic::TcpClient&, unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:163: multiple definition of websockets2_generic::internals2_generic::readData[abi:cxx11](websockets2_generic::network2_generic::TcpClient&, unsigned long long)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:229: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned char const*, unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:167: multiple definition of websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, unsigned char const*, unsigned long long)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:258: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::_recv()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:168: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::_recv()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:266: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getHeader[abi:cxx11](unsigned long long, unsigned char, bool, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:177: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::getHeader[abi:cxx11](unsigned long long, unsigned char, bool, bool)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:483: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned int, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:512: multiple definition of websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, char const*, unsigned int, unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:512: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const*, unsigned int, unsigned char, bool, bool, char const*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:519: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const*, unsigned int, unsigned char, bool, bool, char const*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:519: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const*, unsigned int, unsigned char, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:468: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const*, unsigned int, unsigned char, bool)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:468: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char, bool, bool, char const*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:478: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned char, bool, bool, char const*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:478: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:473: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned char, bool)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:473: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::close(websockets2_generic::CloseReason)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:549: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::close(websockets2_generic::CloseReason)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:549: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getCloseReason() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:572: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::getCloseReason() const'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:572: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:575: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:575: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:587: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:587: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:600: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:600: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:612: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:612: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleMessageInternally(websockets2_generic::WebsocketsMessage&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:444: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::handleMessageInternally(websockets2_generic::WebsocketsMessage&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:444: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStreamingMode(websockets2_generic::internals2_generic::WebsocketsFrame&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:325: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStreamingMode(websockets2_generic::internals2_generic::WebsocketsFrame&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:325: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStandardMode(websockets2_generic::internals2_generic::WebsocketsFrame&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:402: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStandardMode(websockets2_generic::internals2_generic::WebsocketsFrame&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:402: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::recv()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:424: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::recv()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:424: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::readNonBlocking()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:804: multiple definition of websockets2_generic::WebsocketsClient::readNonBlocking()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:804: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getFragmentsPolicy() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:632: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::getFragmentsPolicy() const'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:632: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:48: multiple definition of websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:48: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic19fromInterfaceStringB5cxx11EOKN7arduino6StringE+0x0): multiple definition of websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic18internals2_generic19fromInterfaceStringB5cxx11EOKN7arduino6StringE+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:58: multiple definition of websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:58: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic18fromInternalStringEOKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x0): multiple definition of websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic18internals2_generic18fromInternalStringEOKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::setInternalSocket(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:169: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::setInternalSocket(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:169: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::upgradeToSecuredConnection()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:425: multiple definition of websockets2_generic::WebsocketsClient::upgradeToSecuredConnection()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:425: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::generateHandshake(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:193: multiple definition of websockets2_generic::generateHandshake(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:193: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::generateHandshake(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:253: multiple definition of websockets2_generic::generateHandshake(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:253: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::parseHandshakeResponse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:356: multiple definition of websockets2_generic::parseHandshakeResponse(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:356: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handlePing(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1050: multiple definition of websockets2_generic::WebsocketsClient::_handlePing(websockets2_generic::WebsocketsMessage)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1050: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handlePong(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1057: multiple definition of websockets2_generic::WebsocketsClient::_handlePong(websockets2_generic::WebsocketsMessage)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1057: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handleClose(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1064: multiple definition of websockets2_generic::WebsocketsClient::_handleClose(websockets2_generic::WebsocketsMessage)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1064: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::available(bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:985: multiple definition of websockets2_generic::WebsocketsClient::available(bool)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:985: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(char const*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:857: multiple definition of websockets2_generic::WebsocketsClient::send(char const*, unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:857: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(arduino::String const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:842: multiple definition of websockets2_generic::WebsocketsClient::send(arduino::String const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:842: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(arduino::String const&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic16WebsocketsClient4sendERKN7arduino6StringE+0x0): multiple definition of websockets2_generic::WebsocketsClient::send(arduino::String const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic16WebsocketsClient4sendERKN7arduino6StringE+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(char const*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:850: multiple definition of websockets2_generic::WebsocketsClient::send(char const*)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:850: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::sendBinary(char const*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:898: multiple definition of websockets2_generic::WebsocketsClient::sendBinary(char const*, unsigned int)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:898: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::sendBinary(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:890: multiple definition of websockets2_generic::WebsocketsClient::sendBinary(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:890: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::stream(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:930: multiple definition of websockets2_generic::WebsocketsClient::stream(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:930: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::streamBinary(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:946: multiple definition of websockets2_generic::WebsocketsClient::streamBinary(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:946: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::end(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:962: multiple definition of websockets2_generic::WebsocketsClient::end(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:962: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::ping(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1007: multiple definition of websockets2_generic::WebsocketsClient::ping(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1007: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::pong(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1019: multiple definition of websockets2_generic::WebsocketsClient::pong(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1019: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::close(websockets2_generic::CloseReason)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1031: multiple definition of websockets2_generic::WebsocketsClient::close(websockets2_generic::CloseReason)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1031: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition of websockets2_generic::WebsocketsClient::~WebsocketsClient()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition of websockets2_generic::WebsocketsClient::~WebsocketsClient()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition of websockets2_generic::WebsocketsClient::~WebsocketsClient()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::readBlocking()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:816: multiple definition of websockets2_generic::WebsocketsClient::readBlocking()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:816: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:762: multiple definition of websockets2_generic::WebsocketsClient::poll()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:762: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:141: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:141: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic18WebsocketsEndpointaSEOKS1_+0x0): multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text.ZN19websockets2_generic18internals2_generic18WebsocketsEndpointaSEOKS1+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsMessage)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:735: multiple definition of websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsMessage)>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:735: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsEvent, arduino::String)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:752: multiple definition of websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsEvent, arduino::String)>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:752: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsMessage)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:728: multiple definition of websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsMessage)>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:728: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsEvent, arduino::String)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:745: multiple definition of websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsEvent, arduino::String)>)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:745: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:104: multiple definition of websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:104: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic16WebsocketsClientaSEOKS0_+0x0): multiple definition of websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text.ZN19websockets2_generic16WebsocketsClientaSEOKS0+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::addHeader(arduino::String, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:505: multiple definition of websockets2_generic::WebsocketsClient::addHeader(arduino::String, arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:505: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connect(arduino::String, int, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:600: multiple definition of websockets2_generic::WebsocketsClient::connect(arduino::String, int, arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:600: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connect(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:512: multiple definition of websockets2_generic::WebsocketsClient::connect(arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:512: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connectSecure(arduino::String, int, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:719: multiple definition of websockets2_generic::WebsocketsClient::connectSecure(arduino::String, int, arduino::String)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:719: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::recvHandshakeRequest(websockets2_generic::network2_generic::TcpClient&)': c:\users\markv\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\bits/basic_string.h:166: multiple definition of websockets2_generic::recvHandshakeRequest(websockets2_generic::network2_generic::TcpClient&)'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\users\markv\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\bits/basic_string.h:166: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::accept()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:156: multiple definition of websockets2_generic::WebsocketsServer::accept()'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:156: first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic18internals2_generic18WebsocketsEndpointE+0x0): multiple definition of vtable for websockets2_generic::internals2_generic::WebsocketsEndpoint' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic18internals2_generic18WebsocketsEndpointE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsClientE+0x0): multiple definition of vtable for websockets2_generic::WebsocketsClient'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsClientE+0x0): first defined here
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsServerE+0x0): multiple definition of `vtable for websockets2_generic::WebsocketsServer'
C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsServerE+0x0): first defined here
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

@cpp-tutor
Copy link

cpp-tutor commented Aug 9, 2024 via email

@markieboy223
Copy link
Author

Hi @markieboy223, Apologies for the late reply. The only answer I have is to declare and define SocketHandler entirely within the sketch, in case you haven't done this already. This would then avoid the multiple inclusion problem? Regards On 6 Aug 2024 12:52, Mark van der Burg @.***> wrote: @cpp-tutor Are you able to pass the websocketclient into a .h and .cpp file with you sketch somehow?

Pretty late to this, but i managed to move the sockethandler to the main.ino. That fixed it.

@markieboy223
Copy link
Author

markieboy223 commented Oct 24, 2024

@cpp-tutor Right now im working on a solution with Ethernet, does this libary support that? And do you perhaps have any examples?

So using:
#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <Ethernet.h>
#include <WebSockets2_Generic.h>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants