Joel Berger posted this little program to start a web server to serve local files, e funziona benissimo:Come posso ottenere la porta scelta da Mojolicious :: Lite?
use Mojolicious::Lite;
@ARGV = qw(daemon);
use Cwd;
app->static->paths->[0] = getcwd;
any '/' => sub {
shift->render_static('index.html');
};
app->start;
ho precompilato riga di comando in @ARGV
perché ho dimenticato di farlo. Quando comincia, dà un messaggio che indica quale porta ha scelto, con 3000 se possibile:
$ 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.
mi piacerebbe ottenere che porta pro-grammaticalmente così una suite di test può sapere dove cercare per esso e preferirei non farlo scartando la produzione. Nessuno dei miei esperimenti per questo è stato utile e penso che stavo andando sempre nella direzione sbagliata. Sembra che non scelga la porta fino a quando non inizia, e quando chiamo start
, è la fine di tutto.
Non voglio nemmeno specificare la porta.
Questa non è una questione urgente. Ho una soluzione corrente a questo con un altro semplice framework HTTP, ma ho cercato di sostituire la maggior parte di quella roba con Mojo se possibile. Dato che le vecchie cose funzionano ancora, questo è davvero qualcosa di carino da avere piuttosto che qualcosa sulla mia strada.
Sarebbe utile se si desidera inviare il codice da cui si sta cercando di ottenere il numero di porta - in modo che possiamo vedere quello che vi aspettate mojolicious per esporre e come. –
Tutto il codice è proprio lì. Voglio eseguire quello script e conoscere il numero di porta. La risposta di sri è che è sempre 3000 o niente. –
che sarebbe stato facile da testare: provare ad avviare 2 istanze di app in parallelo dà l'errore 'Impossibile creare il socket di ascolto: Indirizzo già in uso a ...' - questo mostra che l'unica porta è stata provata solo –