2009-12-02 2 views
1

inets:httpd 모듈을 기존 응용 프로그램에 임베드하는 적절한 방법은 무엇입니까?Erlang : inets를 삽입하는 방법 : httpd?

나는 이것을 달성하기위한 예제/지침을 원합니다.

: inets:httpd 서비스를 기존 응용 프로그램 내에서 동적으로 시작할 수 있기를 원합니다. 이 방법을 사용하면 동적으로 port을 지정할 수 없으므로 부트 스크립트를 활용하는 솔루션을 원하지 않습니다.

+0

내가 무슨 뜻인지 모르겠다. –

답변

1

릴리스 도구를 사용하면 모든 종속 응용 프로그램을 포함한 완전한 독립 실행 형 릴리스를 함께 사용할 수 있습니다. 그것이 당신이 embed에 의해 의미했던 것 인 경우에 나는 그곳에서 시작할 것입니다. 이것은 임베디드 시스템을위한 erlang 응용 프로그램을 만드는 데 사용됩니다.

http://www.erlang.org/doc/design_principles/release_structure.html#id2272165에 대한 개요가 있습니다.

업데이트 업데이트를 본 후. 그럼 당신이해야 할 일은 다음과 같습니다 :

inets:start(); inets:start(httpd, ServiceConfig) 

응용 프로그램의 어딘가에 있습니다. 이 작업을 수행하면 inets 응용 프로그램 인계 및 장애 조치로 서비스가 처리되지 않지만 소프트 코드가 다시로드 될 수 있습니다. 직접 처리해야 할 책임이 있습니다. 당신이 그 기능을 잃어도 괜찮다면 잘 될 것입니다.

+0

@ 제레미 : 내 업데이트를 참조하십시오. – jldupont

+0

@ 제레미 : 감사합니다. "embed"inets을 시도하는 데 문제가있었습니다. httpd는 전반적인 응용 프로그램 구조에서 비롯되었습니다. 이제는 적절한 OTP 형식으로 재구성되었으므로 문제가 해결되었습니다. 나는 당신의 해결책을 받아 들일 것입니다. – jldupont