first version

This commit is contained in:
Vladislav Khorev committed 2026-01-14 23:17:52 +03:00
1 parent dca38c986d
commit 483757f8ca
6 files changed
+172

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
#pragma once
#include <string>
// NetworkInterface.h - Èíòåðôåéñ äëÿ ðàçíûõ òèïîâ ñîåäèíåíèé
namespace ZL {
class INetworkClient {
public:
virtual ~INetworkClient() = default;
virtual void Connect(const std::string& host, uint16_t port) = 0;
virtual void Send(const std::string& message) = 0;
virtual bool IsConnected() const = 0;
virtual void Poll() = 0; // Äëÿ îáðàáîòêè âõîäÿùèõ ïàêåòîâ
};
}
View File
Whitespace-only changes.
+29
View File
@@ -0,0 +1,29 @@
#pragma once
// WebSocketClient.h
#include "NetworkInterface.h"
#include <queue>
namespace ZL {
class WebSocketClient : public INetworkClient {
private:
std::queue<std::string> messageQueue;
bool connected = false;
int clientId = -1;
public:
void Connect(const std::string& host, uint16_t port) override {
// Â Emscripten çäåñü áóäåò emscripten_websocket_new
// Â Desktop - boost::beast::websocket::stream
}
void Poll() override {
// ×èòàåì äàííûå èç ñîêåòà.
// Åñëè ïîëó÷èëè ID: clientId = parseId(msg); connected = true;
// Åñëè ïîëó÷èëè "PONG": ëîãèðóåì çàäåðæêó.
}
bool IsConnected() const override { return connected; }
int GetClientId() const { return clientId; }
};
}