일단 이제 자잘한 버그만 고치면 될 듯?

This commit is contained in:
2025-05-04 14:31:30 +09:00
parent 63428ebf4d
commit e0a371d536
16 changed files with 908 additions and 39 deletions

View File

@@ -84,26 +84,61 @@ public:
RequestType requestType;
DataType dataType;
std::uint16_t packetLength;
std::uint16_t destId[4];
std::uint16_t myId[4];
std::uint16_t roomId[4];
std::uint8_t name[];
} __data;
std::uint8_t serialized[1500] = "";
};
std::uint8_t* convToN() {
__data.packetLength = ::htons(__data.packetLength);
for (int i = 0; i < 4; i++)
__data.destId[i] = ::htons(__data.destId[i]);
for (int i = 0; i < 4; i++) {
__data.myId[i] = ::htons(__data.myId[i]);
__data.roomId[i] = ::htons(__data.roomId[i]);
}
return serialized;
}
std::uint8_t* convToH() {
__data.packetLength = ::ntohs(__data.packetLength);
for (int i = 0; i < 4; i++)
__data.destId[i] = ::ntohs(__data.destId[i]);
for (int i = 0; i < 4; i++) {
__data.myId[i] = ::ntohs(__data.myId[i]);
__data.roomId[i] = ::ntohs(__data.roomId[i]);
}
return serialized;
}
};
class alignas(4) RoomExitRequestPacket : public Packet {};
class alignas(4) RoomExitRequestPacket : public Packet {
public:
union {
struct {
PacketCategory packetType;
RequestType requestType;
DataType dataType;
std::uint16_t packetLength;
std::uint16_t myId[4];
std::uint16_t roomId[4];
std::uint8_t name[];
} __data;
std::uint8_t serialized[1500] = "";
};
std::uint8_t* convToN() {
__data.packetLength = ::htons(__data.packetLength);
for (int i = 0; i < 4; i++) {
__data.myId[i] = ::htons(__data.myId[i]);
__data.roomId[i] = ::htons(__data.roomId[i]);
}
return serialized;
}
std::uint8_t* convToH() {
__data.packetLength = ::ntohs(__data.packetLength);
for (int i = 0; i < 4; i++) {
__data.myId[i] = ::ntohs(__data.myId[i]);
__data.roomId[i] = ::ntohs(__data.roomId[i]);
}
return serialized;
}
};
class alignas(4) UsersListRequestPacket : public Packet {};

View File

@@ -226,7 +226,7 @@ public:
void registerSocket(IOCPPASSINDATA* data);
int recv(IOCPPASSINDATA* data, int bufferCount);
int send(IOCPPASSINDATA* data, int bufferCount, int __flags);
int send(IOCPPASSINDATA* data, int bufferCount, int __flags, bool client = false);
private:
struct WSAManager wsaManager;

View File

@@ -7,7 +7,8 @@ public:
struct Config {
Json::Value configJsonRoot;
std::uint32_t ipVersion = 0;
std::uint32_t listenPort = 0;
gsl::czstring IP = "";
std::uint32_t Port = 0;
spdlog::level::level_enum logLevel = spdlog::level::off;
gsl::czstring logFileName = "";
std::uint32_t logfileSize = 0;