Joel Berger posted this little program to start a web server to serve local files, 그리고 그것을 잘 작동 : 나는 그렇게 깜빡 때문에 Mojolicious :: Lite가 선택한 포트를 어떻게 얻을 수 있습니까?
use Mojolicious::Lite;
@ARGV = qw(daemon);
use Cwd;
app->static->paths->[0] = getcwd;
any '/' => sub {
shift->render_static('index.html');
};
app->start;
나는
@ARGV
에 명령 줄을 미리 채워. 이 시작되면이 할 수있는 경우는 3000을 사용하여, 그것은 선택하는 포트을 알려주는 메시지를 제공합니다 :
$ perl ~/bin/mojo_cwd
[Fri Mar 29 19:14:09 2013] [info] Listening at "http://*:3000".
Server available at http://127.0.0.1:3000.
내가 프로 문법적으로 해당 포트를 좀하고 싶습니다 그래서 테스트 스위트는 어디서 찾을 지 알 수 있습니다 , 그리고 나는 출력을 폐기함으로써 그것을하지 않기를 바란다. 이것에 대한 나의 실험은 유용하지 않았고 나는 항상 잘못된 방향으로 가고 있다고 생각한다. 포트가 시작될 때까지 포트를 선택하지 않은 것처럼 보입니다. 일단 start
으로 전화하면 그 포트가 끝납니다.
포트를 직접 지정하고 싶지 않습니다.
이것은 시급한 문제가 아닙니다. 다른 간단한 HTTP 프레임 워크를 사용하는 현재의 솔루션이 있지만 가능한 경우 Mojo로 그 대부분을 대체하려고합니다. 낡은 재료가 여전히 효과가 있기 때문에, 이것은 내 방식으로 무언가가있는 것이 아니라, 실제로 가지고있는 것이 좋을 것입니다. 앱에 지정한 --listen
PARAM으로
포트 번호를 얻으려는 코드를 게시하면 mojolicious가 노출 될 것으로 예상되는 내용과 방법을 볼 수 있습니다. –
모든 코드가 바로 있습니다. 그 스크립트를 실행하고 포트 번호를 알고 싶습니다. 스리랑카의 대답은 항상 3000이나 아무것도 없다는 것입니다. –
은 테스트하기 쉽습니다. 두 개의 app 인스턴스를 동시에 시작하려고하면 '청취 소켓을 만들 수 없음 : 이미 사용중인 주소 ...'오류가 발생합니다. 기본값은 시도한 유일한 포트임을 나타냅니다 –