packet 수정, client 테스트 코드 추가
This commit is contained in:
@@ -1,15 +1,31 @@
|
||||
#include "Socket/TCPSocket.hpp"
|
||||
#include "Socket/Address.hpp"
|
||||
#include "Socket/Log.hpp"
|
||||
#include "Packet/Packet.hpp"
|
||||
#include "precomp.hpp"
|
||||
|
||||
int main() {
|
||||
Chattr::TCPSocket sock;
|
||||
sock.init(AF_INET);
|
||||
sock.init(AF_INET6);
|
||||
|
||||
Chattr::Address serveraddr(AF_INET, "localhost", 9011);
|
||||
Chattr::Address serveraddr(AF_INET6, "fd8a:5f:3adb:774d:dfae:983f:2e7a:ffba", 9010);
|
||||
|
||||
sock.connect(serveraddr);
|
||||
spdlog::info("Connection established from {}", (std::string)serveraddr);
|
||||
sock.send("Hello, World!", 14, 0);
|
||||
|
||||
Chattr::DataPostPacket dataPostPacket;
|
||||
dataPostPacket.__data.packetType = Chattr::PacketType::PACKET_POST;
|
||||
dataPostPacket.__data.requestType = Chattr::RequestType::DATA;
|
||||
dataPostPacket.__data.dataType = Chattr::DataType::TEXT;
|
||||
memcpy(dataPostPacket.__data.data, "Hello, World!", 14);
|
||||
//dataPostPacket.__data.packetLength = 8 + 14;
|
||||
dataPostPacket.__data.packetLength = 2000;
|
||||
dataPostPacket.convToN();
|
||||
sock.send(&dataPostPacket.serialized, 1500, 0);
|
||||
|
||||
Chattr::ResponsePacket packet;
|
||||
sock.recv(&packet.serialized, 1500, 0);
|
||||
packet.convToH();
|
||||
|
||||
// sleep(1000000);
|
||||
}
|
||||
@@ -29,9 +29,6 @@ enum class DataType : std::uint8_t {
|
||||
|
||||
class alignas(4) Packet {
|
||||
public:
|
||||
Packet() {
|
||||
memset(serialized, 0, 1500);
|
||||
}
|
||||
union {
|
||||
struct {
|
||||
PacketType packetType;
|
||||
@@ -40,7 +37,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t data[1495];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
std::uint8_t* convToN() {
|
||||
__data.packetLength = ::htons(__data.packetLength);
|
||||
@@ -62,7 +59,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t name[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -76,7 +73,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t name[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -91,7 +88,7 @@ public:
|
||||
std::uint32_t roomCount;
|
||||
std::uint8_t name[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
std::uint8_t* convToN() {
|
||||
__data.packetLength = ::htons(__data.packetLength);
|
||||
@@ -115,7 +112,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t name[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -129,7 +126,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t data[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -143,7 +140,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t name[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -158,7 +155,7 @@ public:
|
||||
std::uint16_t destId[4];
|
||||
std::uint8_t data[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
std::uint8_t* convToN() {
|
||||
__data.packetLength = ::htons(__data.packetLength);
|
||||
@@ -183,7 +180,7 @@ public:
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t data[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -209,9 +206,9 @@ public:
|
||||
DataType dataType;
|
||||
std::uint16_t packetLength;
|
||||
ResponseStatusCode responseStatusCode;
|
||||
std::uint8_t data[];
|
||||
std::uint8_t data[1493];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
std::uint8_t* convToN() {
|
||||
__data.packetLength = ::htons(__data.packetLength);
|
||||
@@ -246,7 +243,7 @@ public:
|
||||
ResponseStatusCode responseStatusCode;
|
||||
std::uint8_t data[];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
std::uint8_t serialized[1500] = "";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
#include "spdlog/spdlog.h"
|
||||
|
||||
namespace Chattr {
|
||||
struct _EPOQUE_ {
|
||||
_EPOQUE_() {
|
||||
static struct _EPOQUE {
|
||||
_EPOQUE() {
|
||||
EPOQUE = std::chrono::system_clock::now();
|
||||
}
|
||||
std::chrono::system_clock::time_point EPOQUE;
|
||||
} _EPOQUE_;
|
||||
} __EPOQUE__;
|
||||
}
|
||||
Reference in New Issue
Block a user