&구조체를 전달하고 WINAPI의 인수로 (void * arg)를 주어
함수내의 구조체 포인터와 (sockaddr_in *) arg를 연결하고
함수내의 구조체에 구조체 포인터를 할당한다.
//클라이언트와 데이터 통신
DWORD WINAPI ProcessClient(void* arg)
{
sockaddr_in * a = (sockaddr_in *) arg;
sockaddr_in clientaddr = *a;
char addr[INET_ADDRSTRLEN];
int addrlen;
char buf[BUFSIZE + 1];
inet_ntop(AF_INET, &clientaddr.sin_addr, addr, sizeof(addr));
printf("[TCP 서버] 클라이언트 :IP 주소=%s, 포트 번호=%d \n", addr, ntohs(clientaddr.sin_port));
return 0;
}
...
main(){
...
hThread = CreateThread(NULL, 0, ProcessClient, &clientaddr, 0, NULL);
...
}
참고 링크
https://www.google.com/search?ie=UTF-8&client=ms-android-samsung-rvo1&source=android-browser&q=%EC%8A%A4%EB%A0%88%EB%93%9C+createThread+%EA%B5%AC%EC%A1%B0%EC%B2%B4
'코딩 공부 > TIL' 카테고리의 다른 글
[C++] 오류 terminate called recursively (0) | 2023.02.06 |
---|---|
Android) Bottom Navigation View 에서 4개 이상 항목을 글자를 보이게 하고 싶을 때 (0) | 2022.11.09 |
strtok() 문자를 지정해서 문자열을 나눠 받는 함수 (0) | 2022.09.13 |
EOF(파일의 끝)으로 코드 끝내기 (0) | 2022.08.29 |
각 언어마다 입출력을 빠르게 하는 법 (0) | 2022.08.27 |