我正在尝试启动一个进程并告诉它使用未使用的TCP端口.不幸的是,我启动的二进制文件不会探测未使用的端口.有没有一个像样的方法来探测Dart中的端口,以便我可以将其用作我的进程的参数?
我能想到的最好的是创建一个ServerSocket端口为0,然后关闭套接字并使用它的端口,但这对我来说似乎很烦人.
谁有更好的方法?
Jus*_*ani 10
我将添加我的“黑客”作为答案,因为我想不出其他方法,而且它似乎工作得很好。
这是我的getUnusedPort()功能:
import 'dart:io';
Future<int> getUnusedPort(InternetAddress address) {
return ServerSocket.bind(address ?? InternetAddress.anyIPv4, 0).then((socket) {
var port = socket.port;
socket.close();
return port;
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |