java - Android ServerSocket 端口选择

标签 java android sockets port serversocket

我试图弄清楚 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/

相关文章:

java - 整数转字符串,哪种方法更快?

java - java中泛型类中的double方法

android - 在一个月的时间内查询日历内容提供者,但每天显示实例

c++ - IOCP 关键部分设计

apache - Apache 是否阻塞 I/O?

c++ - cpp socket - TCP 传输(使用相同的端口发送和接收)

java - 尝试编译 Cyber​​duck 和 ant 错误

java - 比较<? super T> 与 Comparable<T>

android - 高效开发修改AOSP framework.jar

java - 如何将可变参数传递给观察者?