2011-09-16 2 views
1

현재 Windows 터미널 서비스 환경에서 "localhost"를 청취 할 응용 프로그램을 만드는 프로젝트를 조사하고 있습니다.Windows 터미널 서비스 서버에서 localhost는 무엇을 의미합니까? 기계 또는 세션?

현재 테스트 환경에 액세스 할 수 없지만이 디자인, 특히 로컬 호스트/루프백 127.0.0.1이 다중 사용자 시스템 내에서 무엇을 의미하는지 확인하고 싶습니다.

내 응용 프로그램이 127.0.0.1:40000에서 수신 대기하는 TCP 소켓을 바인드하면 어떤 클라이언트가이 포트에 액세스 할 수 있습니까? - 컴퓨터/서버의 모든 사용자가 모든 세션 내에서 클라이언트에게 공개됩니까? - 아니면 개별 사용자/세션일까요?

나는 후자를 추측/추측하고있다. 이 경우 각 세션의 각 사용자가 127.0.0.1:40000에 리스너를 실행하는 자체 앱을 열 수 있습니까?

이 디자인 문제에 대한 도움을 주셔서 감사합니다.

+0

누가 투표를 끝내겠습니까? 이것은 터미널 서비스에서 localhost를 사용하는 프로그램을 개발할 수 있는지 여부에 대한 질문입니다. IMHO는 분명히 소프트웨어 개발 관련 질문이므로 FAQ와 일치합니다. – Stuart

답변

2

전 당신을 실망 시키겠습니다.

TCP/IP 소켓에는 "사용자"또는 "소유권"의 개념이 없습니다. 주어진 네트워크 인터페이스에 65535 개의 사용 가능한 포트가 있으며 주어진 프로세스에서 하나의 프로세스 만 수신 할 수 있습니다. 어떤 사용자가 프로세스를 소유하고있는지는 부적합합니다. User1의 프로세스가 127.0.0.1:40000에서 수신 대기하는 경우 User2의 프로세스가 동일한 포트에서 수신 대기하려고 시도합니다.

마찬가지로 고유 한 액세스 제어가 없습니다. 주어진 포트에 수신 대기 포트가 있으면 해당 포트에서 컴퓨터에 연결할 수있는 모든 것 (즉, 수신 및 연결 프로세스 - 서버 및 클라이언트 - 같은 사용자에 속할 필요가 없으며 다른 호스트에있을 수도 있습니다.

+0

감사합니다 Piskvor - 그건 말이됩니다. 아마 터미널 서비스가 뭔지 모르겠다. 모든 사용자가 별도의 VM을 갖기를 바란다. 각 VM에는 자체 localhost 어댑터가 있지만 각 세션은 VM과 다르다는 것을 이해해야한다. 감사! – Stuart

+0

@ 스튜어트 : 천만에. TS의 경우 일반적으로 가상화를 사용하지 않고 동일한 컴퓨터에서 모두 실행됩니다. 각 사용자는 자신 만의 가상 디스플레이 *를 가져 오지만, 거의 모든 것입니다. 나머지 컴퓨터 (네트워킹, 프로세스 등)는 공유됩니다. – Piskvor

+0

다시 한 번 감사드립니다 - 저는 배우고 있습니다. 즉, "프로그램 파일"과 같은 모든 폴더도 공유한다는 의미입니까? 그들은 "내 문서"만 가져옵니다. (죄송합니다 - 정말로 별도의 질문으로 질문해야합니다 - 아니면 그냥 읽어 가야합니다!) – Stuart

관련 문제