문제점을 찾은듯...
역시 DB의 연결이 중간에 끈어져서 발생하는 에러였다.
'Lost connection to MySQL server during query'
란 에러 메시지가 떠서 검색해보니
set wait_timeout = 0;
으로 해주면 연결이 끊어지지 않는다고 해서
바꿔주니 다행이 이제 그 에러는 안뜬다.
명령어 입력 모습...
그런데 워닝이 하나 있는데 뭔지 모르겠다;;
그리고 select * from user; 명령어를 실행했더니
에러가 뜨는데;;;
별다른 문제 없이 테이블은 검색된다?
이건 해결했는데 또다른 문제가 있다ㅠㅠ;
첫번째 회원가입때 메시지는 잘 들어가지만
두번째 로그인 메시지는 안들어온다...
아마도
switch(ptr->state)
{
case WAIT : // 처음 접속 및 이벤트가 없을때 대기 상태
UserWait(&(*ptr));
break;
case JOIN : // 회원 가입
UserJoin(&(*ptr));
ptr->state = WAIT;
break;
case LOGIN : // 로그인
UserLogin(&(*ptr));
ptr->state = WAIT;
break;
}
// 수신 받는 부분이 뒤에 있어서 메시지가 초기화가 되는 듯 하다...
// 스위치문을 앞으로 변경해봐야 될듯...
// 월요일날 수정 요망
ZeroMemory(&(ptr->overlapped), sizeof(ptr->overlapped));
ZeroMemory(ptr->buf, BUFSIZE);
ptr->wsabuf.buf = ptr->buf;
ptr->wsabuf.len = BUFSIZE;
retval = WSARecv(ptr->sock, &(ptr->wsabuf), 1, &recvbytes,
&flags, &(ptr->overlapped), NULL);
if(retval == SOCKET_ERROR)
{
if(WSAGetLastError() != WSA_IO_PENDING)
{
err_display("WSARecv()");
RemoveSocketInfo(ptr);
}
}