/ / Delphi 소켓 기반 클라이언트 / 서버

델파이 소켓 기반 클라이언트 서버

오늘날 주제는 현장에서 매우 관련성이 있습니다.클라이언트-서버 아키텍처의 개발 및 배포에 전념하는 정보 기술. 이는 다양한 규모의 정보 시스템이 다양한 분야에서 점점 더 많이 사용되고 있기 때문입니다. 또한 모든 데이터베이스의 구조는 특정 매개 변수에 따라 생성되며 특수 응용 프로그램을 사용하는 경우에만 일반 모드에서 작업 할 수 있습니다. 따라서 클라이언트-서버 아키텍처의 구현은 다양한 시설의 정보 기술 부서가 직면하는 매우 중요한 작업이며, 성공적인 솔루션을 통해 기업은 최적으로 원활하게 작업 할 수 있습니다.

소켓 기반 서버

소켓 서버여러 사용자의 요청을 동시에 처리 할 수 ​​있습니다. 이 경우 관리자는 동시에 서비스를 제공하는 사용자 수를 제한하기 위해 언제든지 설정을 조정할 수 있습니다. 기본적으로이 매개 변수에는 제한이 없습니다.

클라이언트가 서버에 연결되면 열립니다.데이터가 교환되는 소켓이있는 별도의 채널. 그러나 각각의 새 연결에 대해 별도의 특수 프로세스를 배포하는 것이 가장 최적이며 안전합니다.

아키텍처 "클라이언트-서버"의 계획

자주 사용되는 정의를 순차적으로 분석하여 아키텍처 구현 체계를 더 자세히 살펴 보겠습니다.

1. 속성 ServerType 및 포트.사용자가 서버에 연결할 수 있으려면 서버와 클라이언트가 사용하는 포트가 동일한 지 확인하는 것이 중요합니다. 이 매개 변수의 목적은 Port 속성에서 만들어집니다. 연결 유형은 ServerType 매개 변수에 의해 결정됩니다.

2. 소켓을 여는 과정. 클라이언트 / 서버 세션을 시작하려면 소켓과 포트를 여는 것이 중요합니다. Listen 속성이 사용됩니다.

삼.또한 데이터는 사용자와 교환됩니다. 종료시 클라이언트 연결이 끊어집니다. 시스템 관리자의 적절한 명령으로 서버는 작업을 종료하고 설정된 모든 연결을 중단하고 새 연결을 기다리는 프로세스를 중지합니다.

Delphi 클라이언트-서버 애플리케이션에서 TServerSocket 사용

정보를주고 받으려면사용자는 OnClientWrite 및 OnClientRead 이벤트를 사용합니다. 이 경우 ClientSocket과 같은 매개 변수를 통해 사용자와 상호 작용할 수 있습니다. 작업 할 때 다음 메서드와 속성이 자주 사용됩니다.

-현재 연결된 사용자 수

-활성 프로세스의 수;

-자유 프로세스의 수;

-포트, 호스트 이름 및 로컬 IP 주소

-소켓 차단 해제 및 차단.

결론적으로, 우리는 자주적용된 특수 속성은 데이터입니다. 이 속성은 다음 상황에 적용됩니다. 일반적으로 서버는 많은 사용자에게 서비스를 제공하는 데 사용되므로 각 클라이언트에 대한 정보를 저장해야하며이 정보는 특정 소켓에 바인딩되어야합니다. 이러한 상황에서는 수동 바인딩을 사용하는 것이 매우 불편하므로 Data 속성이 널리 사용됩니다. 그러나 데이터가 포인터라는 것을 기억하는 것이 중요하므로 포인터 작업에 대한 모든 규칙 (유형 표시, 메모리 할당 등)이 충족되는지 확인하는 것이 중요합니다.

선적 서류 비치

현재까지 개발에 관한 문헌소켓 개발 및 사용과 관련된 델파이 클라이언트 / 서버 애플리케이션은 거의 없습니다. 따라서이 측면에 대한 자세한 연구는 Linux 및 Unix 시스템에 대한 설명서를 참조 할 수 있습니다. 소켓을 사용하여 응용 프로그램을 배포하는 기술에 대해 자세히 설명하지만 일반적으로 Perl 또는 C ++에서 사용됩니다.