네트워크 멀티스레드 프로그래밍
글쓴이: iyagi / 작성시간: 월, 2009/08/31 - 10:16오후
Gateway 서버를 개발하려고 하는데요 멀티스레드 프로그래밍을 하려고 합니다.
여러대의 단말기로 부터 Gateway서버(A서버)에 접속되고 데이터를
타 Host 서버(B 서버)에 연결해서 데이터를 전달해주는 프로그램인데요....
단말기 <=> A 서버 <=> B 서버 이렇게 통신을 하죠...
단말기로 부터 접속을 받아주는 Listener 스레드를 하나 생성하고
접속이 들어오면 스레드를 생성해서 연결된 단말기와 통신을 하게 됩니다.
Listener에서 스레드를 생성한후 그 스레드에서 B 서버로 connect 를 하면 에러가 납니다.
에러코드는 25번 이구요, 에러메세지는 Not a typewriter 입니다.
B 서버로 connect시 non-blocking socket을 생성했는데, connect 함수에서 항상 에러가 나네요..
근데 non-blocking socket이 아닌 blocking 소켓을 생성하면 connect 함수가 정상적으로 실행이 됩니다.
원래 그런건가요? 아니면 제가 뭘 잘못 한건가요???
스레드 생성후 호출 함수는 class 내부 함수인 ClientThreadMain를 호출합니다.
일테면
class A
{
public:
ClientThreadMain(void* nSockFD);
}
그 함수에서 Connect() 내부함수를 호출합니다.
제가 멀 잘못한건가요??? 왜 그런건지 답변 부탁드립니다...
Forums:
댓글 달기