added hash

This commit is contained in:
Vladislav Khorev committed 2026-02-10 11:42:23 +03:00
1 parent 2c1c077611
commit 251a59ddbe
5 files changed
+58 -7

No files matched your search

+3 -3
View File
@@ -884,8 +884,8 @@ namespace ZL
int64_t localNow = std::chrono::duration_cast<std::chrono::milliseconds>(
std::chrono::system_clock::now().time_since_epoch()).count();
std::cout << "getSyncTimeMs localNow = " << localNow << std::endl;
std::cout << "getSyncTimeMs getTimeOffset = " << networkClient->getTimeOffset() << std::endl;
//std::cout << "getSyncTimeMs localNow = " << localNow << std::endl;
//std::cout << "getSyncTimeMs getTimeOffset = " << networkClient->getTimeOffset() << std::endl;
// Добавляем смещение, полученное от сервера
return localNow + networkClient->getTimeOffset(); // Нужно добавить геттер в интерфейс
@@ -917,7 +917,7 @@ namespace ZL
auto now_ms = newTickCount;
std::cout << "processTickCount = " << now_ms << std::endl;
//std::cout << "processTickCount = " << now_ms << std::endl;
sparkEmitter.update(static_cast<float>(delta));
planetObject.update(static_cast<float>(delta));
+3
View File
@@ -9,6 +9,9 @@
using std::min;
using std::max;
constexpr auto NET_SECRET = "880b3713b9ff3e7a94b2712d54679e1f";
#define ENABLE_NETWORK_CHECKSUM
constexpr float ANGULAR_ACCEL = 0.005f * 1000.0f;
constexpr float SHIP_ACCEL = 1.0f * 1000.0f;
constexpr float ROTATION_SENSITIVITY = 0.002f;
+17 -1
View File
@@ -78,7 +78,23 @@ namespace ZL {
void WebSocketClient::Send(const std::string& message) {
if (!connected) return;
auto ss = std::make_shared<std::string>(message);
std::string finalMessage = message;
#ifdef ENABLE_NETWORK_CHECKSUM
// Вычисляем хеш. Для примера используем std::hash,
// но в продакшене лучше взять быструю реализацию типа MurmurHash3.
size_t hashValue = std::hash<std::string>{}(message + NET_SECRET);
// Преобразуем хеш в hex-строку для передачи
std::stringstream ss_hash;
ss_hash << std::hex << hashValue;
// Добавляем хеш в конец сообщения через разделитель
// Например: "UPD:12345:pos...#hash:a1b2c3d4"
finalMessage += "#hash:" + ss_hash.str();
#endif
auto ss = std::make_shared<std::string>(finalMessage);
std::lock_guard<std::mutex> lock(writeMutex_);
writeQueue_.push(ss);
+1
View File
@@ -6,6 +6,7 @@
namespace ZL {
class WebSocketClientBase : public INetworkClient {
protected: