Compare commits
2 Commits
35a646d3e8
...
8619918fac
Author | SHA1 | Date | |
---|---|---|---|
8619918fac | |||
c84f02c1e8 |
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
}
|
}
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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];
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user