Programming/C Win32 MFC2019. 5. 24. 12:18

코드 분석하다 보니 어떻게 작동할지 몰라서 해보니

헐.. 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
Posted by 구차니