|
이학균 님이 쓰신 글 :
: 안녕하세요.. 채팅 서버를 만들고 있는데요..
: TServerSocket의 Service Type를 ThreadBlocking방식을 쓰구여...
: OnGetThread에서 TServerClientThread를 상속한 쓰레드를 생성시켰고요
: ClientExecute()에서 실행시키고 있는데.....
: 한 쓰레드에서 입력된 버퍼 값을 다른 모든 쓰레드가 가지고 있는 ClientSocket로 뿌려서
: 브로드 캐스트 할려고 하는데....
:
: 어떤방법을 써야할지 모르겠어요...
: 쓰레드 내 함수를 쓰면은 그 쓰레드만 처리가능해서....
: 쓰레드 밖의 폼내에 함수를 만들어 각 쓰레드를 제어 할려고 했는데, 방법이 나질 않네요...
: 현재 ClientSocket의 SocketHandle값은 변수에 저장까지는 했는데....
: 이 SocketHandle값을 가지고 모든 쓰레드에 뿌려주는 방법이 없을까요?
:
안녕하세요 귤임 입니다...^^
SocketHandle 까지 저장하셨다면 거의 다 된 셈이겠죠?
브로드 캐스트 용 함수 하나를 만들어서
TServerClientThread 를 상속한 클래스의 friend 로 선언하세요
그러면 브로드 캐스트 용 함수가 상속한 쓰레드에 액세스 권한을 가지게
될 것이고 따라서 브로드 캐스팅이 가능하겠죠?
즉, 님의 문제는 간단히 말해 클래스 밖의 함수가
클래스 안의 변수 또는 함수를 액세스 하는 문제인 것 같습니다.
C++ 책을 보면 friend 선언에 대해서 나올 겁니다..
그럼 즐플밍 하세요~^^
- 하루 살이 -
|