LOGIN • JOININ

안녕하세요 조대표님!


LoginSystem 프로젝트를 받아서 이리저리 디버깅 해보고 있는와중에 궁금한게 있어서 문의드립니다.




먼저 LoginServer를 디버그 모드로 띄우고


그 다음 LobbyServer를 디버그 모드로 띄웠습니다.


LoginServer 서버의 ServerLobbySocket.cpp 파일에 있는 


void ServerLobby::CSocket::OnConnect(CGNet::IO::IConnective* /*_pConnective*/)


함수에 브레이크포인트를 걸어 두었는데요.


1) LoginServer 디버그 시작 및 MFC창 팝업


2) LobbyServer 디버그 시작 및 MFC창 팝업


순으로 진행했을때 로비서버가 로그인 서버로 접속이 안됬는지 아까 걸어둔 중단점이 호출이 안되더라구요


근데 LobbyServer  MFC창 에 뜨는 로그 상으로는 


> Login Server connected [127.0.0.1] 


라고 출력이 됩니다.




근데 이때LoginServer  로그에 


[2017/04/12 01:23:44] @ <END> Initialize SERVICE['CGCII Sample Login Server']

[2017/04/12 01:23:44] @ <BEGIN> Start SERVICE['CGCII Sample Login Server']

[2017/04/12 01:23:44] @ <BEGIN> Start ACCEPTOR['acceptorServerLobby']

[2017/04/12 01:23:44]   + Parameter['Port']: 20000

[2017/04/12 01:23:44]                    Local IPv6(0): fe80::19a3:9c12:27fa:1139%19

[2017/04/12 01:23:44]                    Local IPv6(0): fe80::bdb6:721d:91f5:94ea%11

[2017/04/12 01:23:44]                    Local IPv6(0): fe80::20d5:333a:3f57:8286%13

[2017/04/12 01:23:44]                    Local IPv4(0): 192.168.56.1

[2017/04/12 01:23:44]                    Local IPv4(0): 192.168.125.121

[2017/04/12 01:23:44]                    Local IPv6(0): 2001:0:9d38:6abd:20d5:333a:3f57:8286%0

[2017/04/12 01:23:44]   > Prepare Socket (hSocket=960)

[2017/04/12 01:23:44]   > Binded to :: 20000 [Requestd:::] [hSocket=960] 

[2017/04/12 01:23:44]   > Listen on :: 20000 [hSocket:960]

[2017/04/12 01:23:44]   - AcceptPrepareOnStart=160, AcceptMustPrepare=80

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)

[2017/04/12 01:23:44] @ (Error) Fail to call 'AcceptEx' function[hSocket::964/ Error:10038] (CGNet::IO::Connective::Acceptor::NTCP::RequestAccept)


이런식의 메시지로그가 출력되는데 찾아보니깐 CGNetIOConnectiveAcceptorTCP.h 쪽인것 같습니다.

에러 메시지 자체는 검색이 안되더라구여





위와같은 상황에서 로그인서버MFC창 버튼중 (최상단 메뉴창말고 화면에 있는 버튼)


Login Server

Acceptor ADDR_ANY 20000 옆에 있는 start 버튼을 눌러서 정지 시킨 후 다시 start 버튼을 눌러서


아까의 로비 서버를 다시 접속해 봤더니 이때는 중단점에 걸리더라구요.


그리고 이 때는 저위에 있는 Fail to call 'AcceptEx' function[hSocket::968/ Error:10038] 이 메시지 로그가 출력이 안됩니다


정리하면


1) LoginServer 서버의 ServerLobbySocket.cpp 파일에 있는 


void ServerLobby::CSocket::OnConnect(CGNet::IO::IConnective* /*_pConnective*/) 함수에 중단점을 걸어놓음


2) LoginServer  구동 ( Fail to call 'AcceptEx' function 로그 출력 )


3) LobbyServer  구동 ( 이때 중단점 호출 안됌 )


4) LoginServer  의 Acceptor 를 start 버튼을 통해 재시작 ( Fail to call 'AcceptEx' function 로그 출력 안됌 )


5)  LobbyServer  구동 (이땐 중단점 정상 호출)

입니다.





그렇다면 최초 구동 했을 경우에는 중단점이 호출이 안되었는데 이건 접속이 안되었다고 봐도 맞는건가요~? (로비서버에서는 접속되었다는 로그가 뜨긴했지만)


이와 비슷한 내용으로 공개버전의 튜토리얼을 진행 할때도 


[Network] 1.Socket 에 있는 Tutorial_SocketServer02_SendReceive를 포함해서 다른 챕터들을 진행할때도


같이 포함되어있는 클라이언트 프로젝트들을 이용해서 디버그를 시도했었는데


그때도 서버를 띄우고 클라이언트로 접속을해도 


서버쪽에 있는  void CSocket::OnConnect(CGNet::IO::IConnective* /*_pConnective*/)


함수가 호출이 안되더라구요~~~


근데 이때도 클라이언트 로그상으론 접속성공이 뜹니다.


그래서 서버를 띄우고 클라이언트를 시작해서 접속을 한 후 (서버에서 저 함수는 호출안되지만 클라이언트에선 접속성공이 떳으므로 접속이라고 판단)


이 상태에서 튜토리얼 서버를 내리면 클라이언트 디버그 창에서는 디스커넥트 로그가 출력되더라구요.


이걸로 보건대 분명 접송은 한거 같은데 OnConnect 함수에는 안걸리고 해서 이때도 궁금하긴했었는데


LoginSystem 프로젝트 예제를 하면서도 뭔가 비슷한거같아서 여쭤봅니다.


스크린샷을 첨부해서 설명해드리면 더 좋을텐데 회사에서는 파일업로드가 안돼네요...




바쁜신 와중에 읽어주셔서 감사합니다!




번호 제목 글쓴이 날짜 조회 수
공지 Q&A 무엇이든 물어보세요. webmaster 2015.04.25 420
25 패킷 관련 기능 문의입니다. [4] 은혜아빠 2015.06.10 2254
24 초보 프로그래머의 질문 [8] zzanggu 2015.12.24 873
23 NugGet 패키지를 참조할 수 없다고 나옵니다. [3] 마에 2016.08.03 644
22 벤치마크요청! Linux vs Windows 어느 쪽이 빠른가요? [4] 궁금한이 2015.09.02 614
21 다중서버 소켓 접속 정보의 로드벨런싱 처리에 대해 문의드립니다. [1] RayYun 2016.01.27 294
20 TLS 관련 질문이요~ ㅋㅋ [2] 황대장 2015.06.23 292
19 CGDsList 컨테이너 사용방법에 대한문의 드립니다. [5] RayYun 2016.01.28 283
18 CGCII에서 빨리 보강되었으면 하는 점 건의 [4] 플머 2015.12.23 282
17 왜 디버그 모드에서만 런타임 오류가 발생할까요? [1] file 쿠우 2015.10.26 257
16 2016/07/18 오늘 자로 trunk에 있는 VS2015용 소스를 받아서 컴파일을 하려고 하는데 안되네요 [1] 다크너구리 2016.07.18 233
15 소켓 클래스 내부의 특정 함수를 매 초 마다 이벤트로 실행하는 방법에 대한 문의입니다. [1] RayYun 2016.01.14 211
14 win10 에서 테스트툴 동작이... [3] 상향평준화 2016.09.30 208
13 CGCII Network TCPEchoClient에 대해서 [1] file 유저 2015.12.26 194
12 CGCII 를 사용하여 서버간 연결 방법에 대해 문의드립니다. [1] file RayYun 2016.01.12 190
11 개인적인 질문입니다. [1] bjh 2015.09.17 188
10 DB 프로시져 호출시 파라메터 문제2 [1] RayYun 2016.01.25 184
9 RayYun님의 질문 메일 중... webmaster 2015.12.18 110
8 Log 시스템 관련 질문 드립니다. [1] RayYun 2015.12.18 103
7 LoginSystem 프로젝트에서 빌드 오류 문의건 [2] RayYun 2017.02.16 82