From a995ed5090ed6248f083802ea42c3edb808f46e2 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 1 Dec 2020 21:14:58 +0100 Subject: [PATCH] Websocket try --- src/client.cpp | 8 ++++++++ src/network/Socket.h | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 0ab361f..d4b1516 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -221,6 +221,14 @@ int websocket_handler(Socket *socket, stds *pipes) { if (ret < 0) { throw (char *) strerror(errno); } + + int c = fgetc(pipes->stdout); + if (c == -1) { + socket->receive(pipes->stdin); + } else { + ungetc(c, pipes->stdout); + socket->send(pipes->stdout, -1); + } } } diff --git a/src/network/Socket.h b/src/network/Socket.h index 645b2fa..11ed472 100644 --- a/src/network/Socket.h +++ b/src/network/Socket.h @@ -34,8 +34,6 @@ private: void setSocketOption(int, bool); - long send(void *buffer, int size); - long receive(void *buffer, int size); long peek(void *buffer, int size); @@ -65,6 +63,8 @@ public: void sslHandshake(string privkey, string fullchain); + long send(void *buffer, int size); + long send(string *str); long send(string str);