코드 분석하다 보니 어떻게 작동할지 몰라서 해보니
헐.. while(0) 이냐 !0 이냐 정도로 밖에 작동하지 않네
예제 소스가 이상한 조건문이 되어버렸네...
client_sock에 -1이 들어와도 while은 중단되지 않고 0일때만 중단되는데
그러면 if(client_sock < 0)은 <=0이 아니라 들어갈 방법이 없네?
while( (client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c)) ) { puts("Connection accepted"); pthread_t sniffer_thread; new_sock = malloc(1); *new_sock = client_sock; if( pthread_create( &sniffer_thread , NULL , connection_handler , (void*) new_sock) < 0) { perror("could not create thread"); return 1; } //Now join the thread , so that we dont terminate before the thread //pthread_join( sniffer_thread , NULL); puts("Handler assigned"); } if (client_sock < 0) { perror("accept failed"); return 1; } |
[링크 : https://www.binarytides.com/server-client-example-c-sockets-linux/]
'Programming > C Win32 MFC' 카테고리의 다른 글
vkey win32 / linux (0) | 2021.04.30 |
---|---|
strptime (0) | 2021.02.17 |
c언어용 JSON 라이브러리 목록 (0) | 2018.10.23 |
uuid in c (0) | 2018.10.22 |
엔디안 급 멘붕.. (0) | 2018.05.29 |