msg qu로 sock svr처럼 동작하게 할 수 있을까요?
msg qu로 sock svr처럼 동작하게 할 수 있을까요?
(우선 제가 생각한 방법으로는 '꽝'이라고 말씀드릴
수 있겠습니다. -_-;;)
조건
1. msg qu svr는 msg qu clnt들이 모두 아는 msg
__qu로 연결을 기다린다.
2. 각 clnt와는 독립적인 연결을 갖는다. (sock처럼)
제가 생각한 것
1. svr는 모든 clnt가 알고 있는 msg qu로 기다린다.
2. clnt는 알고 있는 msg qu에 자신의 pid를 넘김으
__로 '연결'의사를 밝힌다.
3. svr는 key 값을 달리해서 새로운 msg qu 식별자와 clnt의
__pid를 (well-known) msg qu에저장한다.
4. svr는 연결된 clnt의 pid와 msg qu 를 table에
__저장한다.
5. clnt는 (잘 알려진/ well-known) msg qu에서 읽고
__자신의 msg qu를 알아낸다. (다른 녀석의 것을 꺼내면
__'대략 낭패'가 아니고 -_-; 다시 집어넣는다.)
(제가 생각하는) 제가 생각하는 것의 문제점
1. sock에서는 clnt가 socket을 바꾸지 않는다.
__채널/ sock에 관한 문제는 clnt에게 알려져 있지
__않다. (근본적인 문제점)
2. (잘알려진/ well-known) msg qu에서 clnt
__나 svr가 데이터를 읽을 경우, 뒤죽박죽이 될
__수 있다. (pid라는 꽁수를 쓰더라도... -_-;;)
어떻게 해야 좋을까요?
어떤 경우에라도
1. msg qu를 '꼭' 사용해야 하며 (제 의견이 아님)
2. 각 clnt와 svr는 독립적인 연결을 가지고 있어야 합니다.
(아, 그리고 어제는 svr와 clnt가 다른 PC/ 시스템에
위치한줄 알았는데, 아니었습니다. -_-;;)
또 다른 방법 생각해봤습니다.(타당성이 있는지...)1.
또 다른 방법 생각해봤습니다.
(타당성이 있는지...)
1. (잘알려진/ well-known) msg qu는 clnt는 쓰기만
__svr는 읽기만 한다.
2. svr는 msg qu를 읽어서 clnt들의 요구를 수용한다.
3. clnt는 자신의 pid를 가지고 msg qu를 만들어서
__(잘알려진/ well-know) msg qu에 집어넣는다.
4. svr는 msg qu에서 읽어서 clnt에 대한 정보를 얻고
__관리한다.
What a Cool Days!!!
댓글 달기