void *listen_client() { while(1) { int read_pipe_fd = open(read_pipe, O_RDONLY); const int kMaxReadLength = 8; char buf[kMaxReadLength]; int id; char grade; read(read_pipe_fd, buf, kMaxReadLength); sscanf(buf, "%3d%c", &id, &grade); int write_pipe_fd = open(write_pipe, O_WRONLY); if(grade == '*') { //lookup grade = lookup_grade(primary_server, id); sprintf(buf, "%c", grade); write(write_pipe_fd, buf, kMaxReadLength); } else { //update printf("updaterequest %3d %c target:%s \n", id, grade, primary_server); StudentSt* student = (StudentSt*) malloc(sizeof(StudentSt)); student->next = NULL; student->student_id = id; student->grade = grade; UpdateGrade(primary_server, student); free(student); } close(read_pipe_fd); close(write_pipe_fd); } }
CGameDoc::CGameDoc(){ srand((unsigned int)(time(NULL)));//시간을 Seed로 잡아 똑같은 난수 발생을 방지 m_strName = _T(""); m_bmCell = CSize(79, 81); m_nMode = PRACTICE; m_nGrade = TOP; m_nType = POCKETMON; UpdateGrade(); InitializeGame(); }