2014-09-19 3 views
0

나는 3 대의 기계가 병렬로 작동하며, 그 중 1과 2는 이미 통신을위한 소켓 연결부를 가지고 있습니다. 시스템 1은 클라이언트이고 시스템 2는 서버입니다.클라이언트에 여러 서버가있을 수 있습니까?

이제 서버이기도 한 머신 3을 구현해야합니다. 머신 1은 머신 2와 3의 클라이언트가됩니다.

가능합니까?

답변

0

하나의 응용 프로그램에 여러 개의 소켓이있을 수 있습니다 (서버 또는 클라이언트는 중요하지 않음). 각 소켓은 특정 주소와 특정 기능 (서버/클라이언트)에 바인딩되지만, 여러 소켓을 열면 원하는대로 조합 할 수 있습니다. 아무 관계도 없습니다.

귀하의 경우, M2 및 M3은 각각 하나의 수신기 소켓을 가지며, M1은 동일한 애플리케이션에 두 개의 송신기 소켓을 갖습니다. 소켓은 완전히 병렬로 작동합니다 (데이터를 공유하지 않음).

+0

안녕하세요, Mephy 답변 해 주셔서 감사합니다. 나는 소켓 프로그래밍에 대해 매우 익숙하기 때문에 "M2와 M3는 각각 하나의 리스너 소켓을가집니다"M2와 M3는 동일한 소켓 주소 또는 differnt 포트를 갖거나 소켓 주소는 다를 수 있습니다. – PARDEEP

+0

각 소켓은 완전히 독립적입니다. 원하는 경우 동일한 포트에서 실행할 수 있습니다 (동일한 응용 프로그램 인 경우이 작업을 수행하는 것이 일반적입니다). 선택할 수없는 주소, 컴퓨터의 IP 주소. – Mephy

관련 문제