first version
This commit is contained in:
1 parent
dca38c986d
commit
483757f8ca
6 files changed
+172
No files matched your search
@@ -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; // Äëÿ îáðàáîòêè âõîäÿùèõ ïàêåòîâ
|
||||
};
|
||||
}
|
||||
Whitespace-only changes.
@@ -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; }
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user