Page 916 - 3-3
P. 916

break;
                         }
                         i++;
                     }
                 } catch (TcpServerSock::Exception &e) {
                     std::cerr << std::endl;
                     std::cerr << "Error occured in ProcLogin(), receiving failed" << std::endl;
                     e.What();
                     std::cerr << std::endl;


                     close(fd);
                     FD_CLR(fd, &ori_reads);
                     return;
                 }


                 char *name;
                 if ((name = CheckLogin(packet)) != NULL) {
                     packetLoginSuccess packetSuccess;
                     memset(&packetSuccess, 0, sizeof(packetSuccess));


                     packetSuccess.flag = 1;
                     strncpy(packetSuccess.name, name, NAMESIZE);
                     char end[2] = "\r";


                    try {
                         Server->send(&packetSuccess.flag, sizeof(packetSuccess.flag), fd);
                         Server->send(end, sizeof(end), fd);
                         Server->send(packetSuccess.name, NAMESIZE, fd);
                         Server->send(end, sizeof(end), fd);
                     }
                     catch (TcpServerSock::Exception &e) {
                         std::cerr << std::endl;
                         std::cerr << "Error occured in ProcLogin(), sending name failed" << std::endl;
                         e.What();
                         std::cerr << std::endl;


                         close(fd);
                         FD_CLR(fd, &ori_reads);
                     }


                     std::cout << std::endl;
                     std::cout << "Login Success!" << std::endl;
                     std::cout << "ID: " << packet.id << std::endl;
                     std::cout << "Name: " << name << std::endl << std::endl;




                                                        - 916 -
   911   912   913   914   915   916   917   918   919   920   921