B가 A와 통신하고 싶으면 5000(포트번호)와 A의 IP주소를 입력해서 연결하면 포트 5000번에 연결이 된다. 연결이되는 순간 A와 B는 메세지를 주고받을 수 있는 통신이 가능하다.
그 와중에 C가 A와 통신하고 싶을 때 5000번은 A와B가 통신하는데 사용되고 있기 때문에 C가 5000번과 연결할 방법이 없다. 그래서 최초의 5000번 포트는 연결 용도로만 사용되고 5000번 포트에 연결되는 순간 새로운 소켓이 생성된다. 5001번 포트가 생성된다. 통신 용도 포트이다. 그렇게 5001번 포트가 생성되면 쓰레드가 생성되고 B와 5000번포트의 연결은 끊긴다. C와 5000번 포트가 연결이 되고 그 순간 5002번 포트가 생성 된다. B처럼 C와 A의 통신은 5002번으로 하고 5000번 포트는 새로운 사용자의 요청을 받아야하므로 C와의 연결을 끊는다.
쓰레드를 이용해 시간을 쪼개서 프로그램의 통신이 동시에 동작하는 것처럼 보이게한다.
소켓 통신은 연결이 끊어지지않고 계속 유지되지되어 서버 A입장에서는 B가 누구인지 계속 잘 파악할 수 있다(연결대상). 하지만 생각보다 부하가 크다.(느려질 수 있다.)