Compare commits

...

2 Commits

Author SHA1 Message Date
8619918fac update networking 2025-01-31 18:09:14 +01:00
c84f02c1e8 fix bug getValue didnt return proper values 2025-01-31 17:23:23 +01:00
7 changed files with 43 additions and 19 deletions

View File

@ -166,11 +166,21 @@ void client(std::string prefix)
std::string buffer; std::string buffer;
buffer.resize(prefix.size() + extra_buff); buffer.resize(prefix.size() + extra_buff);
int sock = TcpSocket::connectt("petrovv.com", serverPort); int sock = TcpSocket::connectt("petrovv.com", keyPort);
if (sock < 0)
{
return;
}
int64_t header = 0;
TcpSocket::recvt(sock, &header, sizeof(header));
TcpSocket::closet(sock);
sock = TcpSocket::connectt("petrovv.com", serverPort);
if (sock < 0) if (sock < 0)
{ {
// printf("Error %d", sock);
return; return;
} }
@ -190,7 +200,7 @@ void client(std::string prefix)
// printf("id: %ld\n", ID); // printf("id: %ld\n", ID);
TcpSocket::sendt(sock, &StartHeader, sizeof(StartHeader)); TcpSocket::sendt(sock, &header, sizeof(header));
TcpSocket::sendt(sock, &ID, sizeof(ID)); TcpSocket::sendt(sock, &ID, sizeof(ID));
Message message; Message message;

View File

@ -114,11 +114,27 @@ void call(int sock, sockaddr_in newSocketInfo)
TcpSocket::closet(sock); TcpSocket::closet(sock);
} }
void send_key(int sock, sockaddr_in newSocketInfo)
{
TcpSocket::sendt(sock, &StartHeader, sizeof(StartHeader));
TcpSocket::closet(sock);
}
void listen_key()
{
int err = TcpSocket::listent("0.0.0.0", keyPort, send_key);
if (err < 0)
{
printf("ERROR %d", err);
}
}
int main() int main()
{ {
sql::init(); sql::init();
sql::create_tables(); sql::create_tables();
std::thread t(checker); std::thread t(checker);
std::thread l(listen_key);
// Bind the server to a port. // Bind the server to a port.
int err = TcpSocket::listent("0.0.0.0", serverPort, call); int err = TcpSocket::listent("0.0.0.0", serverPort, call);
if (err < 0) if (err < 0)

View File

@ -6,6 +6,7 @@
constexpr int64_t StartHeader = 1737720524UL; constexpr int64_t StartHeader = 1737720524UL;
constexpr uint16_t serverPort = 9000; constexpr uint16_t serverPort = 9000;
constexpr uint16_t keyPort = 9010;
enum Mess enum Mess
{ {

View File

@ -12,6 +12,6 @@ namespace mrand
{ {
uint128 getState(uint64_t seed); uint128 getState(uint64_t seed);
float getFloat(uint128 *state); float getFloat(uint128 *state);
int getValue(int min, int max, uint128 *state); int getValue(int max, uint128 *state);
unsigned int computeCRC32(void *data, int dataSize); unsigned int computeCRC32(void *data, int dataSize);
} }

View File

@ -11,7 +11,7 @@ namespace DNA
uint8_t *array = (uint8_t *)dna; uint8_t *array = (uint8_t *)dna;
for (size_t i = 0; i < sizeof(Dna); i++) for (size_t i = 0; i < sizeof(Dna); i++)
{ {
array[i] = mrand::getValue(0, 255, state); array[i] = mrand::getValue(256, state);
} }
return; return;
} }
@ -23,7 +23,7 @@ namespace DNA
uint8_t *ca = (uint8_t *)c; uint8_t *ca = (uint8_t *)c;
for (size_t i = 0; i < sizeof(Dna); i++) for (size_t i = 0; i < sizeof(Dna); i++)
{ {
int val = mrand::getValue(0, 1, state); int val = mrand::getValue(2, state);
if (val == 0) if (val == 0)
{ {
ca[i] = p1a[i]; ca[i] = p1a[i];
@ -42,14 +42,14 @@ namespace DNA
uint8_t *ca = (uint8_t *)c; uint8_t *ca = (uint8_t *)c;
for (size_t i = 0; i < sizeof(Dna); i++) for (size_t i = 0; i < sizeof(Dna); i++)
{ {
int val = mrand::getValue(0, 1, state); int val = mrand::getValue(2, state);
if (val == 0) if (val == 0)
{ {
ca[i] = p1a[i]; ca[i] = p1a[i];
} }
else else
{ {
ca[i] = mrand::getValue(0, 255, state); ca[i] = mrand::getValue(256, state);
} }
} }
} }
@ -58,8 +58,8 @@ namespace DNA
uint8_t *array = (uint8_t *)dna; uint8_t *array = (uint8_t *)dna;
for (size_t i = 0; i < num; i++) for (size_t i = 0; i < num; i++)
{ {
int pos = mrand::getValue(0, sizeof(Dna), state); int pos = mrand::getValue(sizeof(Dna), state);
array[pos] = mrand::getValue(0, 255, state); array[pos] = mrand::getValue(256, state);
} }
} }
} }

View File

@ -1,5 +1,3 @@
#include <unistd.h> #include <unistd.h>
#include "values/DnaManager.hpp" #include "values/DnaManager.hpp"
@ -86,11 +84,11 @@ void DnaManager::newGen(DnaManagerData *data)
for (auto &&i : data->disliked) for (auto &&i : data->disliked)
{ {
size_t p1 = mrand::getValue(0, data->liked.size() - 1, &data->randSeed); size_t p1 = mrand::getValue(data->liked.size(), &data->randSeed);
size_t p2 = mrand::getValue(0, data->liked.size() - 1, &data->randSeed); size_t p2 = mrand::getValue(data->liked.size(), &data->randSeed);
while (p1 == p2) while (p1 == p2)
{ {
p2 = mrand::getValue(0, data->liked.size(), &data->randSeed); p2 = mrand::getValue(data->liked.size(), &data->randSeed);
} }
p1 = data->liked[p1]; p1 = data->liked[p1];

View File

@ -47,11 +47,10 @@ namespace mrand
return rprand_state; return rprand_state;
} }
int getValue(int min, int max, uint128 *state) int getValue(int max, uint128 *state)
{ {
int value = my_rprand_xoshiro((uint32_t *)state) % (std::abs(max - min) + 1) + min; uint32_t rand = my_rprand_xoshiro((uint32_t *)state);
return rand % max;
return value;
} }
float getFloat(uint128 *state) float getFloat(uint128 *state)