|
@@ -1,56 +0,0 @@
|
|
|
-//
|
|
|
-// Created by zx on 2020/6/10.
|
|
|
-//
|
|
|
-
|
|
|
-#include "nnxx_server.h"
|
|
|
-Server::Server()
|
|
|
-{
|
|
|
- m_service_thread= nullptr;
|
|
|
- m_socket=nnxx::socket{nnxx::SP_RAW, nnxx::REP};
|
|
|
-}
|
|
|
-
|
|
|
-Server::~Server()
|
|
|
-{
|
|
|
- mb_close=true;
|
|
|
- if(m_service_thread!= nullptr)
|
|
|
- {
|
|
|
- if(m_service_thread->joinable())
|
|
|
- {
|
|
|
- m_service_thread->join();
|
|
|
- }
|
|
|
- delete m_service_thread;
|
|
|
- m_service_thread= nullptr;
|
|
|
- }
|
|
|
- m_socket.close();
|
|
|
-}
|
|
|
-
|
|
|
-bool Server::bind(std::string connect_str) {
|
|
|
- m_socket.bind(connect_str);
|
|
|
- mb_close=false;
|
|
|
- m_service_thread=new std::thread(service_handle,this);
|
|
|
-}
|
|
|
-bool Server::service_response(nnxx::message& message,nnxx::message_control& c1)
|
|
|
-{
|
|
|
- static int response_num=0;
|
|
|
- std::string msg=to_string(message);
|
|
|
- std::cout<<" recieve request : "<<msg<<"total response : "<<++response_num<<std::endl;
|
|
|
- std::string response="response : ";
|
|
|
- response+=msg;
|
|
|
- m_socket.send(response.c_str(),response.length(),0,std::move(c1));
|
|
|
-}
|
|
|
-
|
|
|
-void Server::service_handle(Server* pServer)
|
|
|
-{
|
|
|
- if(pServer== nullptr)
|
|
|
- return;
|
|
|
- nnxx::message_control msg_control;
|
|
|
- while(pServer->mb_close==false)
|
|
|
- {
|
|
|
- //非阻塞式读取
|
|
|
- nnxx::message msg = pServer->m_socket.recv(1, msg_control);
|
|
|
- if(msg.size()!=0)
|
|
|
- pServer->service_response(msg,msg_control);
|
|
|
- std::this_thread::yield();
|
|
|
- }
|
|
|
-}
|
|
|
-
|