안녕하세요 개발자 명월입니다.
전 포스팅에 이어 afxsock의 클라이언트 편을 소개하겠습니다.
바로가기 - afxsock 통신 - 서버편
서버, 클라이언트도 중요하지만 서버에서는 Send 함수, 클라이언트 Recieve 함수도 잘 살펴 봐야겠습니다.
그럼 클라이언트 부분을 확인 해 보겠습니다.
소스파일에 afxsock.h 해더를 추가합니다.
소스입니다.
1 WSADATA wsadata;
2 WSAStartup(MAKEWORD(2,2),&wsadata);
3 int mysock = socket(PF_INET,SOCK_STREAM,0);
4 sockaddr_in serverAddress;
5 memset(&serverAddress,0,sizeof(serverAddress));
6 serverAddress.sin_addr.s_addr = inet_addr("127.0.0.1");
7 serverAddress.sin_family = AF_INET;
8 serverAddress.sin_port = htons(9999);
9
10 if(connect(mysock,(sockaddr *)&serverAddress,sizeof(serverAddress)) == -1){
11 printf("연결실패\n");
12 }else{
13 printf("연결성공\n");
14 CString buf;
15 char* recvmsg;
16 recvmsg = (char *)malloc(1024);
17 recv(mysock,recvmsg,1024,0);
18 //CString buf1 = (LPSTR)recvmsg;
19 LPSTR buf1 = recvmsg;
20 printf("%s\n",buf1);
21 }
2 WSAStartup(MAKEWORD(2,2),&wsadata);
3 int mysock = socket(PF_INET,SOCK_STREAM,0);
4 sockaddr_in serverAddress;
5 memset(&serverAddress,0,sizeof(serverAddress));
6 serverAddress.sin_addr.s_addr = inet_addr("127.0.0.1");
7 serverAddress.sin_family = AF_INET;
8 serverAddress.sin_port = htons(9999);
9
10 if(connect(mysock,(sockaddr *)&serverAddress,sizeof(serverAddress)) == -1){
11 printf("연결실패\n");
12 }else{
13 printf("연결성공\n");
14 CString buf;
15 char* recvmsg;
16 recvmsg = (char *)malloc(1024);
17 recv(mysock,recvmsg,1024,0);
18 //CString buf1 = (LPSTR)recvmsg;
19 LPSTR buf1 = recvmsg;
20 printf("%s\n",buf1);
21 }
소스에서 보시다시피 서버에서는 Send를 날리고 클라이언트에서는 Recieve를 날립니다.
(※물론 서버에서도 Recieve를 사용할 수 있고 클라이언트에서 Send를 사용할 수 있습니다.)
결과화면입니다.
참고 소스 : Blog20120930[2].zip
'개발 노트 > C 언어' 카테고리의 다른 글
[MFC]네이버 실시간 검색 순위 CS프로그램 - 6 (5) | 2013.08.09 |
---|---|
[MFC] 서비스 프로그램 (4) | 2012.12.02 |
[C++] ShowWindow[메크로 상수], Window 메시지 상수 (0) | 2012.10.20 |
[C++] afxsock 통신 - 클라이언트편 (0) | 2012.09.30 |
[C++] afxsock 통신 - 서버편 (0) | 2012.09.30 |
C++ Dll 만들어서 C#에서 사용하기 (마샬링) [C++] (2) | 2012.09.23 |
[C++] ActiveX 만들기 (5) | 2012.09.14 |
댓글 0개가 달렸습니다.