
저는 Linux 컴퓨터에서 실행되는 C++ 프로그램을 작업 중입니다. 저는 클라이언트 서버 아키텍처를 처음 접했습니다. 나는 최근에 내가 작업 중인 프로그램이 컨텍스트라는 것을 사용하여 클라이언트가 액세스 모드 등과 같은 다양한 구성을 설정하여 이에 따라 서버와 통신할 수 있다는 것을 알게 되었습니다.
내 프로그램에만 해당되는 것인지, 아니면 어디에서나 동일한 개념인지 알고 싶습니다. 그리고 그것을 일반적인 용어로 context라고 부르나요, 아니면 다른 일반적인 이름이 있나요? 올바른 방향으로 안내하는 것이 도움이 될 것입니다.
업데이트: 답변하기에는 개념이 너무 광범위하다는 느낌이 듭니다. 특히 이 개념이 클라이언트-서버 아키텍처에 적합한지 궁금합니다.
답변1
많은 프로토콜은 클라이언트가 보낸 명령으로 변경되는 컨텍스트를 사용합니다. FTP, POP 또는 IMAP 서버를 프로그래밍하는 경우 컨텍스트에는 사용자가 성공적으로 로그인했는지 여부와 해당 사용자가 누구인지가 포함됩니다. 그런 다음 파일 목록이나 이메일 목록을 요청하는 명령은 기록된 사람에 따라 목록을 반환하거나 이 명령을 거부할 수 있습니다.
다중 스레드 프로그램으로 서버를 구현하는 경우 각 스레드는 각 스레드가 읽고 업데이트할 컨텍스트를 포함하는 매개변수로 지정된 개체를 갖게 됩니다. 다중 프로세스 프로그램(예: Apache)으로 서버를 프로그래밍하는 경우 전역 변수 세트(각 프로세스마다 다름)에 컨텍스트가 포함될 수 있습니다.