我试图弄清楚 Android 操作系统如何通过 ServerSocket 构造函数分配端口。
(链接: http://developer.android.com/reference/java/net/ServerSocket.html )
具体来说,使用第二个构造函数,文档声称“如果 port == 0,则操作系统将分配一个端口”。有谁知道Android操作系统如何分配这个端口?根据在 Android 终端上运行大量 netstat -a 命令,这似乎是随机选择。
谁能证实这一点?我想知道当为此参数输入 0 时会发生什么。
提前致谢!
最佳答案
根据 java documentation :
A port number of 0 means that the port number is automatically allocated, typically from an ephemeral port range.
Android documentation建议操作系统为您选择端口:
If port == 0, a port will be assigned by the OS
基本上它会选择一个随机的免费端口。
一些额外的:This site其中包含使用它的端口和服务的列表。
关于java - Android ServerSocket 端口选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512243/