2012-12-30 13 views
5

Sto provando ad avviare un processo e dirgli di usare una porta TCP inutilizzata. Sfortunatamente, il binario che sto iniziando non cercherà una porta inutilizzata. C'è un modo decente per sondare le porte in Dart, quindi posso usarlo come argomento per il mio processo?Come posso trovare una porta TCP inutilizzata in Dart?

Il meglio che posso pensare è di creare un ServerSocket con una porta di 0, quindi chiudere il socket e usarlo, ma questo mi sembra un po 'hacky.

Chiunque ha un modo migliore?

risposta

2

Aggiungerò il mio "hack" come risposta perché non riesco a pensare a un altro modo, e sembra funzionare piuttosto bene.

Ecco la mia getUnusedPort() funzione:

Future<int> getUnusedPort() { 
    return ServerSocket.bind().then((socket) { 
    var port = socket.port; 
    socket.close(); 
    return port; 
    }); 
} 
Problemi correlati