2014-01-06 8 views
0

죄송합니다. Indy 관련 문서 links이 현재 작동하지 않습니다. 사이트가 다운되었거나 무엇이든간에 현재 브라우저에로드되지 않는지는 알 수 없습니다.동일한 IP 주소로 연결된 2 개의 Indy 클라이언트를 어떻게 구별합니까?

하나의 "서버"응용 프로그램에는 TIdCmdTcpServer가 있고 다른 "클라이언트"응용 프로그램에는 TIdCmdTcpClient가 있습니다. 일단 연결되면 클라이언트의 IP 주소를 얻는 방법을 알고 있습니다. 내가 모르는 것은 동일한 IP 주소에서 연결하는 두 클라이언트를 구별하는 방법입니다. 누구나 도울 수 있습니까?

+1

현재 www.indyproject.org는 다운되었지만 http://indyproject.org/index.de.aspx는 – mjn

+0

www.indyproject.org가 제대로 작동합니다. –

답변

3

이것은 실제로 Indy 질문이 아니며, 일반적인 네트워킹 문제입니다.

같은 주소의 다른 클라이언트는 고유 한 포트를 사용해야합니다. 그리고 여기는 연결의 클라이언트 측 포트를 의미합니다. 따라서 서로 다른 포트를 사용하는 동일한 주소의 다른 클라이언트를 구별 할 수 있습니다.

1

TIdCmdTCPClientTIdCmdTCPServer과 함께 사용하지 마십시오. 그들은 함께 사용하기위한 것이 아니며, 다른 피어가 데이터를 보낼 것으로 기대하는 내부 읽기 스레드를 사용하므로 사용자와의 통신을 교착 상태로 만드는 것은 매우 쉽습니다. TIdTCPClientTIdCmdTCPServer 또는 TIdCmdTCPClientTIdTCPServer으로 사용하십시오.

이렇게 말하면 클라이언트의 원격 IP/포트를 차별화 할 수 있지만 일반적으로 클라이언트가 사용자 이름으로 로그인하도록 요구하는 것과 같이 필요에 따라 추적 할 수있는 자체 식별자를 만드는 것이 좋습니다 .

관련 문제