select Socket 문제인데 미치겠습니다. 제발 도와주세요.
글쓴이: newlife958 / 작성시간: 화, 2009/01/06 - 5:50오후
지금 다/1 클라이언트 서버 모델로 프로그램을 작성하고잇는데 select socket 쪽에서 문제가 일어나서 미치겠습니다. 지식이 얕아서 그런지 아무리봐도 잘 모르겟구요.
지금 상황은 이렇습니다.
thread1()
{
while(1)
{
작업이 없으면 continue;
작업이 있으면
1 메세지 처리
disk i/o
}
}
thread2()
{
while(2)
{
작업이 없으면 continue;
작업이 있으면
2 메세지 처리
disk i/o
}
}
select socket()
{
1메세지 생성
}
정말 대력적이나마 저런 구조인데요.
메세지 처리부분을 쓰레드로 돌리지않고 소켓내부에서 함수호출형식으로하면 문제가 생기지 않습니다.
disk i/o 때문에 작업을 쓰레드 쪽으로 돌려낫는데 쓰레드에서 메세지 처리하는
전역변수에는 동기화 작업을 다해준상태이구요
client 가접속하면 accept : xxx.xxx.xxx.xxx 이런식으로 접속하는 client의 아이피 보이게 해놨구요
select socket이 accept가 약 5천정도 넘어가면 소켓이 뻗어버립니다.
accept : 1.0.0.0 이렇게 출력이 되면서 아무것도 작업이 진행이 안됩니다.
쓰레드가 while(1)로 계속 돌려나서 문제가 생기는거 같은데
비슷한 경우를 당해보신분 안계시나요..
제발좀 도와주세요 미치겠습니다.
Forums:
혹시 클라이언트당
혹시 클라이언트당 스레드 하나를 생성하시나요?
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기