2012-11-15 7 views
0

현재 단일 서버 프로세스와 여러 클라이언트 프로세스로 구성된 시스템을 설계하고 있습니다. 서버와 모든 클라이언트는 동일한 로그인 세션에서 동일한 시스템에서 실행됩니다. 이러한 프로세스는 일반 HTTP를 통해 서로 통신합니다.
다른 사용자는이 통신을 방해하거나 청취 할 수 없습니다. 디자인은 Windows와 * nix 시스템간에 쉽게 이식 가능해야합니다.사용자 당 로컬 호스트의 클라이언트 서버 아키텍처

사용자가 TCP 포트를 열고 루프백 인터페이스에서만 수신하면 동일한 시스템에 로그인 한 다른 사용자가이 포트에 계속 연결할 수 있습니다.
HTTP는 일반적으로 TCP를 전송 계층으로 사용하지만 안정적이고 순서있는 스트림 전달을 제공하는 모든 것이 작동합니다. 따라서 통신이 단일 사용자로 제한되어 있는지 확인하려면 명명 된 파이프로 전환하는 것이 좋습니다. 그러나 명명 된 파이프의 의미는 Windows (이중, 단일 이름과 수신 끝)와 POSIX (단방향, 분리 끝 이름과 수신 끝)간에 상당히 다릅니다. 또한, 대부분의 기존 HTTP 구현은 전송 용으로 TCP 이외의 것을 사용하는 것을 지원하지 않습니다.

누락 된 다른 휴대용 사용자 별 프로세스 간 스트림 전송 방법이 있습니까? 아니면 어떻게 든 특정 사용자 만 TCP 포트에 액세스 할 수있게 할 수 있습니까?

답변

0

teory에서 유일한 문제는 프로토콜입니다. 모든 프로토콜을 사용할 수 있으며 클라이언트와 서버에 동일한 프로토콜을 사용하는 한 모든 시스템에서 작동합니다.

기술에 따라 java와 같이 많은 프로토콜 라이브러리를 사용할 수 있습니다.

+0

글쎄, 내 응용 프로토콜은 문제가되지 않는다. HTTP를 사용하고 싶습니다. 사용자 격리를 보장하기 위해 프로토콜과 다른 표준이 아닌 전송 계층이 필요할 수도 있습니다. – bastian

관련 문제