2010-05-11 5 views
0

현재 내 응용 프로그램의 중추가 될 서버 - 클라이언트 시스템에서 일하고 있습니다. 요청을 보내고 서버 측에서 처리하는 가장 좋은 방법을 찾아야합니다. 내가 문자열과 같은 요청을 전송하기로 결정 오래된 프로젝트에서서버 클라이언트 요청을 처리하는 방법

getPortfolio -i 2 -d 모든

:

서버 측이 같은 요청을 처리 할 수 ​​있어야합니다 서버 응용 프로그램은 문자열의 첫 번째 부분 ("getPortfolio")을 조회해야했습니다. 그 후 서버 응용 프로그램은 메소드를 문자열의 첫 번째 부분 ("getPortfolio")과 링크 한지도에서 올바른 메소드를 찾아야했습니다. 두 번째 부분 ("-i 2 -d all")은 매개 변수로 전달되고 메서드 자체는이 문자열/매개 변수를 처리해야했습니다.

나는 이것이 다양한 요청을 처리하기위한 최상의 솔루션이라고 생각하지 않습니다.

RGDS LAYNE는 나에게

+0

정확하게 묻는 것을 이해하는 것은 어렵습니다. 소켓이나 일반적인 구문 분석 알고리즘과 관련하여 문제가 있습니까? 이들은 (AFAIK) 두 가지 다른 개념입니다. – ereOn

답변

0

당신이 두 개의 서로 다른 문제가 발생하는 것 같다.

소켓 부품의 경우 사용자가 수행하는 작업을 완전히 제어하려면 Beej's guide to socket programming을 사용하는 것이 좋습니다. 이 부분을 직접 처리 할 시간이 없으면 C++ 소켓 라이브러리를 사용할 수 있습니다. 그들 중 많은 수가 있습니다. 지금까지는 this one 만 사용했지만 다른 것은 좋을 수도 있습니다 (또는 더 좋을 수도 있습니다).

구문 분석 알고리즘과 관련하여 먼저 메시지 형식에 대한 모든 것을 적어 두는 것이므로 엄격한 지침을 따라야합니다. 그런 다음 단계별로 처리 :

먼저 "첫 단어"를 추출하고 일부 목록에 다음 매개 변수를 보관하십시오. 첫 단어가 유효한지 그리고 그것이 알려진 것인지 확인하십시오. "첫 단어"가 사전 정의 된 기존 기능과 일치하지 않으면 메시지를 무시하고 결국 클라이언트 응용 프로그램에 오류를보고하십시오.

일치하는 기능이 있으면 다른 매개 변수를 전달하면됩니다.

이렇게하면 각 함수가 특정 작업을 수행하고 코드가 우아한 방식으로 분할됩니다.

불행히도 여기에 세부적인 내용이 없기 때문에 더 명확하지 않습니다.

관련 문제