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または何もないということです。 –
は簡単にテストできました.2つのappインスタンスを同時に起動しようとすると、「待機ソケットを作成できません:アドレスはすでに使用中です...」というエラーが表示されます。これは、デフォルトで唯一試行されたポートであることを示しています –