Page 913 - 3-3
P. 913

// Charator  형인 type   변수에 ‘0’  을 빼서 Integer   로 저장되게 함.
                   //  즉 type  변수는 1byte    크기의 0   이라는 값을 가짐.
                   if (type - '0' == DEVICETYPE::RASPBERRY) {
                       std::cout << "Raspberry Connected!" << std::endl;
                       RaspSocket = ClientSocket;
                   }
                   else
                       std::cout << "Connected!" << std::endl;
               }


               void Handler::ProcDisconn(SOCKET fd) {
                   close(fd);
                   FD_CLR(fd, &ori_reads);


                   if (fd == RaspSocket) {
                       RaspSocket = 0;
                       std::cout << "Raspberry Disconnected!" << std::endl;
                   }
                   else
                       std::cout << "Disconnected!" << std::endl;
               }


               void Handler::ForwardToRasp(packetCommon &packet) {
                   try {
                       Server->send(packet.name, NAMESIZE, RaspSocket);
                       Server->send(&packet.status, sizeof(packet.status), RaspSocket);
                   }
                   catch (TcpServerSock::Exception &e) {
                       std::cerr << std::endl;
                       std::cerr << "Error occured in ForwardToRasp()" << std::endl;
                       e.What();
                       std::cerr << std::endl;


                       close(RaspSocket);
                       FD_CLR(RaspSocket, &ori_reads);
                       RaspSocket = 0;


                       return;
                   }
                   std::cout << "Packet has forwarded!" << std::endl;
               }


               void Handler::ProcCommon(SOCKET fd) {
                   packetCommon packet;


                                                          - 913 -
   908   909   910   911   912   913   914   915   916   917   918