mutex동기화의 thread기반 채팅 서버소스 질문입니다
그루터기
질문 제목 : mutex동기화의 thread기반 채팅 서버소스 질문입니다클라이언트 연결종료시 for문에 대한 질문입니다질문 내용 :
for(i=0; iclnt_number; i++){
if(clnt_sock == clnt_socks[i]){
for( ; iclnt_number-1; i++)
clnt_socks[i]=clnt_socks[i+1];
break;
}
}
clnt_number--;
}책에 많이 나오는 멀티쓰레드기반의 채팅서버 중에서 다른부분은 다 이해가 가는데 이부분이 잘 이해가 가지않습니다..클라이언트 연결이 종료되면 뒤의 소켓정보를 한개씩 앞으로 이동시켜 현재연결종료된 클라이언트 파일스크립터 정보를 삭제한다라고 되어있는데..
clnt_number=0;으로 전역변수로 선언했으니...
clnt_number는 0부터 시작하지 않습니까?? 배열과 같은 식으로...
그런데 for문에서 보면 iclnt_number-1 이렇게 되면...-1을 하지 않아야 되는거 아닌지??
예를 들면...3개의 클라이언트가 접속했고...
0번 클라이언트를 종료한다면...
i clnt_number-1 이렇게 되면...마지막 소켓 for문은 i를 증가시키고 다시 돌고나면 조건식이
1 1 이렇게 되는게 아닌지??
그래서 마지막 소켓은 이동이 되지 않는것 아닌가요??
질문이 참 글로 설명하기가 이상해서 이해하실지가...^^;
소케프로그래밍 공부한지가 얼마 안돼서...많은 도움 부탁드립니다
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752142 | 더블 포인터 관련 최대최소값 구하기 (2) | 풀잎 | 2026-10-21 |
| 2752115 | c언어 이상한질문 (4) | 모드니 | 2026-10-21 |
| 2752085 | 문자열을 랜덤하게 출력해서 대체,삽입,삭제 횟수를 각가 표시하고 그걸 표 형태로 출력 | 슬아s | 2026-10-20 |
| 2752056 | 포인터 && 배열 질문요~ (2) | 해찬나래 | 2026-10-20 |
| 2752031 | x^n 구하는 코드 짜봤는데 값이 틀려요 ㅠㅠ | 세실 | 2026-10-20 |
| 2752000 | 나 정말 미치겠어요..ㅠㅜ (4) | 다이 | 2026-10-20 |
| 2751978 | 문자열 질문이요.. | 초시계 | 2026-10-19 |
| 2751945 | 숫자 맞추는 프로그램이요 ㅠㅠ (1) | 동은 | 2026-10-19 |
| 2751917 | C언어 이중 연결 관련 질문합니다. | 유우 | 2026-10-19 |
| 2751888 | return의 정확한 의미좀 알려주세요 (3) | 올해1살 | 2026-10-19 |
| 2751857 | 포인터 배열 (2) | 터큰 | 2026-10-18 |
| 2751831 | 연산자? 질문입니다 (2) | 진주 | 2026-10-18 |
| 2751800 | C언어 기초질문입니다.. (3) | 핫블랙 | 2026-10-18 |
| 2751739 | 파일 출력을 구조체로 받을 때, 파일의 끝을 판별하는 방법을 알려주세요. (2) | 얼 | 2026-10-17 |
| 2751715 | unresolved external symbol 에러... | 이룩 | 2026-10-17 |
| 2751686 | 변수 설정에 관한 질문입니다. | 꽃달 | 2026-10-17 |
| 2751655 | 자료구조 연습문제 | 한무릎 | 2026-10-17 |
| 2751631 | gets 함수 질문이요. (4) | 해늘 | 2026-10-16 |
| 2751553 | 퀵정렬 소스인데 주석좀 달아주세요 (1) | 싴흐한세여니 | 2026-10-16 |
| 2751528 | 저기 이거하는법좀 질문.. (2) | 가람슬기 | 2026-10-15 |
