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 -