LOGIN • JOININ

RayYun님의 질문 메일 중...

webmaster 2015.12.18 20:49 조회 수 : 109

RayYun님이 저번에 질의하신 내용 중 작성하셨다는 소스 부분...


그 부분 보다 쉽게 작성할 수 있는 부분이 있습니다.


보내주신 작성하셨다는 소스에 다음과 같은 소스 부분이 있었습니다.



printf("[CGCII Network TCP Auther Server]\n");

// 1) Acceptor를 생성한다.
	acceptServer = NEW<CGNet::CAcceptor<CServerSocket>>(_TEXT("Server Acceptor"));
	acceptClient = NEW<CGNet::CAcceptor<CClientSocket>>(_TEXT("Client Acceptor"));

	SOCKADDR_IN Server_Sock, Client_Sock;
		
	memset(&Server_Sock, 0, sizeof(Server_Sock));
	memset(&Client_Sock, 0, sizeof(Client_Sock));
	Server_Sock.sin_family = AF_INET;
	Client_Sock.sin_family = AF_INET;
	Server_Sock.sin_addr.s_addr = htons(INADDR_ANY);
	Client_Sock.sin_addr.s_addr = htons(INADDR_ANY);
	Server_Sock.sin_port = htons(20000);
	Client_Sock.sin_port = htons(20001);

// 2) 20000번 포트로 Listen을 시작한다.
	acceptServer->Start(Server_Sock, 0, 0);
	acceptClient->Start(Client_Sock, 0, 0);


근데 이부분에서 Acceptor를 2개 만들어 각각 20000번과 20001번 포트에 List을 하시려면 굳이 저렇게 길게 쓰시지 않으셔도 됩니다.



printf("[CGCII Network TCP Auther Server]\n");

// 1) Acceptor를 생성한다.
	acceptServer = NEW<CGNet::CAcceptor<CServerSocket>>(_TEXT("Server Acceptor"));
	acceptClient = NEW<CGNet::CAcceptor<CClientSocket>>(_TEXT("Client Acceptor"));

// 2) 20000번 포트로 Listen을 시작한다.
	acceptServer->Start(20000);
	acceptClient->Start(20001);


으로만 하시면 됩니다.


즉 Start할때 Port 번호만 지정해 주시면 됩니다.

SOCKADDR_IN의 내용을 직접 채워서 Listen을 하는 경우는 일반적으로 여러 개의 랜카드를 가졌거나 IP를 가진 경우 특정한 IP에만 Listen을 하고자 할 경우에만 사용해 주시면 됩니다. IP를 'INADDR_ANY'를 설정해서 모든 랜카드에 Listen을 할 경우 굳이 SOCKADDR_IN구조체를 선언해서 직접 작성하실 필요 없이 포트번호만 써주시면 됩니다.


그리고 MSG_CONTEXT를 사용해서 시작하실 수도 있는데 그건 좀 자세한 설명이 필요해서 추후에 좀더 작성해서 글을 올리도록 하겠습니다.


하여튼 Log관련 오류 패치 빨리 올리도록 하겠씁니다. 

감사합니다.



번호 제목 글쓴이 날짜 조회 수
공지 Q&A 무엇이든 물어보세요. webmaster 2015.04.25 420
26 SampleProject_ChattingSystem(1) 에 대해 문의드립니다. [3] file 체리맛집 2017.06.08 22
25 TcpEchoClient 소스가 공개 되어 있나요? [1] autuln 2017.05.24 28
24 LoginSystem 프로젝트에서 문의사항이 있습니다~ [1] 준영님 2017.04.12 57
23 LoginSystem 프로젝트에서 빌드 오류 문의건 [2] RayYun 2017.02.16 82
22 win10 에서 테스트툴 동작이... [3] 상향평준화 2016.09.30 208
21 개인적인 질문입니다. [8] secret 하이욤 2016.09.22 14
20 NugGet 패키지를 참조할 수 없다고 나옵니다. [3] 마에 2016.08.03 644
19 2016/07/18 오늘 자로 trunk에 있는 VS2015용 소스를 받아서 컴파일을 하려고 하는데 안되네요 [1] 다크너구리 2016.07.18 233
18 안녕하세요 질문이 있습니다. [1] secret 주니와니 2016.03.07 3
17 CGDsList 컨테이너 사용방법에 대한문의 드립니다. [5] RayYun 2016.01.28 283
16 다중서버 소켓 접속 정보의 로드벨런싱 처리에 대해 문의드립니다. [1] RayYun 2016.01.27 293
15 DB 프로시져 호출시 파라메터 문제2 [1] RayYun 2016.01.25 182
14 DB쿼리 클래스 사용 문의 드립니다. [12] secret RayYun 2016.01.21 10
13 소켓 클래스 내부의 특정 함수를 매 초 마다 이벤트로 실행하는 방법에 대한 문의입니다. [1] RayYun 2016.01.14 211
12 CGCII 를 사용하여 서버간 연결 방법에 대해 문의드립니다. [1] file RayYun 2016.01.12 190
11 CGCII Network TCPEchoClient에 대해서 [1] file 유저 2015.12.26 194
10 초보 프로그래머의 질문 [8] zzanggu 2015.12.24 870
9 CGCII에서 빨리 보강되었으면 하는 점 건의 [4] 플머 2015.12.23 280
» RayYun님의 질문 메일 중... webmaster 2015.12.18 109
7 Log 시스템 관련 질문 드립니다. [1] RayYun 2015.12.18 103