2012-08-08 3 views
0

서버와의 인터페이스를 위해 C++ 코드를 작성할 수 있지만 클라이언트 측에서 실행될 수 있지만 네이티브 대신 브라우저에서 실행할 수 있습니까?클라이언트 컴퓨터에서 실행중인 서버의 C++ 코드

예를 들어, 파일을 생성 할 수 있도록 오픈 소스 클래스를 사용하는 것을 상상해보십시오. 하지만이 모든 작업을 서버에서 수행하지 않으려면 브라우저에서 실행해야합니다.

클라이언트가 파일을 두 개 이상 입력하면 코드가 컴퓨터에서 실행되고 최종 결과가 생성 된 다음이 파일이 서버의 데이터베이스에 업로드됩니다.

+0

http://boinc.berkeley.edu/와 매우 유사합니다 (예 :). – Nobody

답변

0

브라우저에서 작업하고 서버 데이터베이스에 결과를 게시하려면 몇 가지 해결책이 있습니다.

우선 데이터베이스 작업을 위해 서버를 설정해야합니다. 나는 MEAN 스택을 사용하여 MongoDB를 설정하고 Mongoose API와 인터페이스했습니다.

이제는 질문의 대상인 경우 집중적 인 작업을 수행하는 많은 브라우저의 예가 있습니다. 이러한 애플리케이션의 대부분은 C++이 아니지만 Javascript입니다.

당신이 정말로 (대학에 대한 큰 무언가를 만들고 싶다면, 나는이 질문을하는 시간에, 과거에 그랬던 것처럼) C++에 초점을 원하는 경우에, 당신은 다음 중 하나를 수행 할 수 :

을 * Google Native Client (NaCl)를 사용하십시오. 이것은 사용자의 운영 체제와 독립적으로 브라우저에서 컴파일 된 C 및 C++ 코드를 효율적이고 안전하게 실행하기위한 샌드 박스입니다. * 아마도 C 및 C++ 코드를 jaascript로 변환하기위한 프레임 워크 인 Emscripten을 확인해야 할 것입니다. 이렇게하면 브라우저에서 작동하도록 C 또는 C++ 바이너리가 작동하고 Javascript로 변환되도록 할 수 있습니다.

0

이것은 이상한 질문입니다.

클라이언트 측에서 수행하려는 작업을 수행하는 바이너리를 준비하고 요청시 서버가 클라이언트에 적절한 바이너리를 전송하도록 할 수 있습니다. 그런 다음 클라이언트는이 바이너리를 실행하고 서버에 결과를 반환합니다.

클라이언트 컴퓨터의 구성을 알고 있으면 가능합니다 (바이너리가 작동해야 함). 또한 몇 가지 보안 계층을 구현해야합니다. 모든 바이너리가 클라이언트에서 실행되도록 허용하고 싶지는 않습니다 (일부 악성 코드가 클라이언트에서 실행될 때 man-in-the-middle 공격을 상상해보십시오).

0

귀하의 요청이 서버 측 프로그래밍의 개념과 모순되는 것 같습니다. 서버 측 프로그램을 사용하는 주요 목적은 데이터베이스, 네트워크 등과 같은 인프라 구성 요소를 제어 된 방식으로 사용하는 것입니다. (서버 측 응용 프로그램의 가장 일반적인 사용법은 JSP 및 ASP와 같은 서버 측 코딩이있는 웹 사이트입니다.)

서버는 안전을 유지해야하는 컴퓨터이므로 원격 응용 프로그램은 변경하거나 액세스 할 수 없어야합니다 파일 시스템을 자유롭게 사용할 수 있습니다. 데이터베이스 작업이나 파일 읽기/쓰기와 같이 서버에서 변경 작업을 수행하려면 서버에서 실행되는 응용 프로그램을 사용하거나 원격 클라이언트 응용 프로그램에 웹 서비스 또는 웹 사이트와 같은 인터페이스를 제공해야합니다.

관련 문제