diff --git a/src/Transmit.cpp b/src/Transmit.cpp index 7c424af..9e7d6af 100644 --- a/src/Transmit.cpp +++ b/src/Transmit.cpp @@ -51,7 +51,7 @@ namespace Transmission { if (!dataPackets.ParseFromArray(buff.get(), this->packSize)) throw PrepareDataException("反序列化出错"); this->packSize = -1; - switch (dataPackets.type()) { + switch (dataPackets.algorithm()) { //无压缩 case CompressAlgorithm::NOT: { auto pack = copyMem(dataPackets.data()); diff --git a/test/test_main.cpp b/test/test_main.cpp index 8985bcc..20f2540 100644 --- a/test/test_main.cpp +++ b/test/test_main.cpp @@ -9,6 +9,15 @@ static bool isExec = false; static const char *shortStr = "Client Hello"; static const char *LongStr = "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"; +static const char *LongLongStr = "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello" + "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"; class Transmit : public Transmission::Transmit { private: @@ -23,7 +32,9 @@ public: ASSERT_TRUE(strcmp((char *) data.get(), shortStr) == 0); else if (type == 2) ASSERT_TRUE(strcmp((char *) data.get(), LongStr) == 0); - else + else if (type == 3) { + ASSERT_TRUE(strcmp((char *) data.get(), LongLongStr) == 0); + } else ASSERT_TRUE(false); isExec = true; } @@ -62,4 +73,8 @@ TEST(Transmit测试, 1) { transmitWrite.sendData((unsigned char *) LongStr, strlen(LongStr) + 1, 2); transmitRead.read(); ASSERT_TRUE(isExec); + isExec = false; + transmitWrite.sendData((unsigned char *) LongLongStr, strlen(LongLongStr) + 1, 3); + transmitRead.read(); + ASSERT_TRUE(isExec); } \ No newline at end of file