Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.1 kB
7
Indexable
Never
void SECCAuthorizationSetup::process_message(void* message)
{
    
    char buffer[1024];
    int clientfd = getClientFd();
    std::cout << "SECCAuthorizationSetup " << clientfd << std::endl;
    
    ResponseCode responseCode;

    std::vector<AuthEnum> AuthorizationServices;

    PnCAuthSetupResParams PnC_ASResAuthorizationMode;
    EIMAuthSetupResParams EIM_ASResAuthorizationMode;
    //received_req.Header.SessionID
    AuthorizationSetupRes auth_setup_res("SessionID",20 ,responseCode.OK,AuthorizationServices,true,PnC_ASResAuthorizationMode,EIM_ASResAuthorizationMode);
    
    nlohmann::json k ;
    k["SessionID"] = auth_setup_res.Header.SessionID;
    k["Timestamp"] = auth_setup_res.Header.Timestamp;
    k["ResponseCode"] = responseCode.OK;

    k["PnCAuthSetupResParams"] = true;
    k["EIMAuthSetupResParams"] = true;

    std::string serialized_data = k.dump();

    EVCCAuthorizationSetup evccAuthorizationSetup(nullptr,3,clientfd);
    std::cout << "while1" << std::endl;

    evccAuthorizationSetup.process_message(nullptr);
    
    
    std::thread sendThread([&]{
        while(true)
        {
            int bytes_sent = send_data_server(clientfd, serialized_data.c_str());
            if(bytes_sent == -1)
            {
                std::cerr << "Send error: " << strerror(errno) << std::endl;
            }else{
                std::cout << "Sent bytes: " << bytes_sent << " to clientfd: " << clientfd << std::endl;
            }                    
            std::this_thread::sleep_for(std::chrono::milliseconds(500));  //// 可以根據需要調整發送頻率
        }
    }
    );
    if(sendThread.joinable())
    {
        std::cout << "Thread created successfully" << std::endl;
    }else{
        std::cerr << "Failed to create thread!" << std::endl;
    }
    sendThread.detach();
    std::cout << "while2" << std::endl;
    // while(true)
    // {
    //     int received_bytes = receive_data_server(clientfd, buffer, sizeof(buffer));
    //     int sock_fd;
    //     std::cout << "11111111112" << endl;
        


    //     if(received_bytes > 0)
    //     {   
    //         buffer[received_bytes] = '\0';
            
    //         nlohmann::json j = nlohmann::json::parse(buffer);
            
    //         AuthorizationSetupReq received_req(j["SessionID"].get<std::string>(), j["Timestamp"].get<int>());
    //         received_req.Header.SessionID = j["SessionID"];
    //         received_req.Header.Timestamp = j["Timestamp"];
    //         sock_fd = j["Sockfd"];

    //         std::cout << "Received from client: " << received_req.Header.SessionID << std::endl;
    //         std::cout << "Received from client: " << received_req.Header.Timestamp << std::endl;
    //         std::cout << "Received from client: sock_fd " << sock_fd << std::endl;

    //         //--------
    //         break;   
    //     }else{
    //         std::cerr << "Error receiving data" << std::endl;
    //         break;
    //     }
    //     std::cout << "while0" << std::endl;
         
    // }
    

};