Android-源端口为800的DatagramSocket无法发送

时间:2018-07-17 21:00:02

标签: java android sockets

我有一个小工具可以将UDP数据包从端口800(Android)发送到端口804上的PC(Windows),因此使用DatagramSocket(800)时,(几乎)所有其他端口都可以正常工作(通常4位数字的端口),所以我想知道是否在Android上保留了800(我尝试过netstat并使用端口800找不到任何东西)以及周围是否有任何工作(除Rooting外)。 我不能真正更改端口,因为它们是固定的,所以它的800-> 804或什么都不起作用!

先谢谢您

1 个答案:

答案 0 :(得分:2)

在Linux上,您必须拥有root特权才能绑定到低于1024的端口。除非您能够提高您的应用特权并充当root(至少在绑定时,否则您以后可以恢复为常规用户(如大多数使用“较低”端口的软件一样),则必须选择其他端口才能成功。这就是为什么您的“ 4位数端口号”测试有效的原因(但是1000失败了:),而800则没有。