瀏覽代碼

update main

Vyacheslav V 1 天之前
父節點
當前提交
7282c78e8c
共有 1 個文件被更改,包括 5 次插入52 次删除
  1. 5 52
      pico-tcp-service/pico-tcp/main.cpp

+ 5 - 52
pico-tcp-service/pico-tcp/main.cpp

@@ -1,6 +1,6 @@
 #include <memory>
 #include <tuple>
-#include "src/basic_proto_dispatcher.hpp"
+#include "src/pico_server_dispatcher.hpp"
 
 using namespace std;
 
@@ -1311,7 +1311,7 @@ public:
 
 int main()
 {
-    /*logger.enableConsoleOutput(true);
+    logger.enableConsoleOutput(true);
 
     logger << "Open socket" << endl;
     CPassiveSocket SocketPassive(CSimpleSocket::CSocketType::SocketTypeTcp);
@@ -1328,8 +1328,8 @@ int main()
 
     logger << "Socket initialized!" << endl;
 
-    CActiveSocket* ClientSocket;
-    PicoLocalService* pico_service;
+    CActiveSocket* ClientSocket = nullptr;
+    pico_server_dispatcher pico_server(ClientSocket);
 
     while(true)
     {
@@ -1348,64 +1348,17 @@ int main()
 
         logger.initializeLogger("picologs", "pico");
         logger.enableConsoleOutput(true);
-
         logger << LogPref::Flag(INFO) << "Client connected" << endl;
-        pico_service = new PicoLocalService(ClientSocket);
 
-        while(pico_service->get_request() != 0)
+        while(pico_server.acceptRequest() == true)
         {
             logger << LogPref::Flag(INFO) << "Request received" << endl;
         }
 
         logger << LogPref::Flag(INFO) << "Request processing finished" << endl;
-        delete pico_service;
-        pico_service = nullptr;
 
         delete ClientSocket;
         ClientSocket = nullptr;
-    }*/
-
-    // Сериализуем тестовые данные
-    std::vector<int> vec = {1, 2, 3, 4, 5};
-    std::map<std::string, int> mp = {{"one", 1}, {"two", 2}};
-    
-    msgpack::sbuffer sbuf;
-    msgpack::packer pk(sbuf);
-
-    pk.pack(vec);
-    pk.pack(mp);
-    pk.pack("dad");
-    
-    // Распаковка через unpacker
-    msgpack::unpacker unp;
-    unp.reserve_buffer(sbuf.size());
-    std::copy(sbuf.data(), sbuf.data() + sbuf.size(), unp.buffer());
-    unp.buffer_consumed(sbuf.size());
-    
-    msgpack::object_handle oh;
-    while (unp.next(oh)) {
-        msgpack::object obj = oh.get();
-        
-        // Определяем тип и обрабатываем
-        switch (obj.type) {
-            case msgpack::type::ARRAY: {
-                auto arr = obj.as<std::vector<int>>();
-                std::cout << "Massive: ";
-                for (int x : arr) std::cout << x << ' ';
-                std::cout << '\n';
-                break;
-            }
-            case msgpack::type::MAP: {
-                auto m = obj.as<std::map<std::string, int>>();
-                std::cout << "Dict: \n";
-                for (const auto& p : m) {
-                    std::cout << "  " << p.first << " => " << p.second << '\n';
-                }
-                break;
-            }
-            default:
-                std::cout << "Other obj: " << obj << '\n';
-        }
     }
 
     return 0;