android 无法绑定 1024 以下端口
平台
RK3288 + Android 7.1
问题
android 应用无法绑定 < 1024 的端口号.
void tryBind80Port(){new Thread(){@Overridepublic void run() {try {InetSocketAddress addr = new InetSocketAddress(80);//以80测试ServerSocket ss = new ServerSocket();ss.bind(addr);} catch (IOException e) {e.printStackTrace();}}}.start();}
报错LOG
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: java.net.BindException: Permission denied
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: at java.net.PlainSocketImpl.socketBind(Native Method)
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:368)
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: at java.net.ServerSocket.bind(ServerSocket.java:377)
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: at java.net.ServerSocket.bind(ServerSocket.java:331)
2017-01-01 20:03:11.998 2762-2778/com.ansondroider.appshortcut W/System.err: at com.ansondroider.appshortcut.MainActivity$1.run(MainActivity.java:39)
解决
参考:https://www.linuxquestions.org/questions/linux-networking-3/allowing-non-root-to-bind-to-ports-1024-a-350437/
//kernel/include/net/sock.h/* Sockets 0-1023 can't be bound to unless you are superuser */#define PROT_SOCK 1024
文件中已声明, 0 - 1023 端仅 SU用户能使用.所以, 修改的方法只是也是把限制的端口号改低或直接改为0.
PS: 个人并不建议去修改这个端口号, 最好还是APP能够申请其它端口, 这样也会少一些冲突
android 无法绑定 1024 以下端口相关推荐
- setcap详解-普通用户绑定1024以下端口
Capabilities的主要思想在于分割root用户的特权,即将root的特权分割成不同的能力,每种能力代表一定的特权操作.例如:能力CAP_SYS_MODULE表示用户能够加载(或卸载)内核模块的 ...
- Linux下bind绑定1024以下端口
问题描述 程序跨平台移植,linux下测试的时候发现bind返回失败,提示没有权限,原来是端口小于1024,需要root权限,然后就开始研究添加root权限: 因为是窗口程序,需要弹框提示输入密码,但 ...
- Linux使用小于1024的端口号,Linux中如何让普通用户使用小于1024的端口
在Linux系统中,一般情况下,小于1024的端口是不对没有root的Linux普通用户开放的.但是还是有一些技巧能够让没有root的用户使用小于1024的端口的.本文就来介绍一下Linux中如何让普 ...
- 非root用户使用1024以下端口(Linux的Capabilities)
非root用户使用1024以下端口 一.问题背景 二.解决方法 1.进入root用户 2.分配用户权限 总结 1.Capabilities介绍 2.Capabilities其他功能名称 3.Capab ...
- linux 限制用户端口,linux – Centos 6.4只允许用户绑定到某个端口?
我知道你可以使用网络命名空间来做到这一点,因为我就是这样做的.但它非常复杂. 这个过程就是这样. >使用取消共享创建网络命名空间 >使用ip link add type veth创建一个v ...
- linux普通用户开不了端口,Linux中如何让普通用户使用小于1024的端口
在Linux系统中,一般情况下,小于1024的端口是不对没有root的Linux普通用户开放的.但是还是有一些技巧能够让没有root的用户使用小于1024的端口的.本文就来介绍一下Linux中如何让普 ...
- java udp 同一个端口_java – 系统中的两个不同的UDP套接字可以绑定相同的端口吗?...
它与TCP和UDP之间的区别有关.当您创建TCP套接字时,您正在创建与另一台计算机上的端口的同步客户端连接,并且当您连接到地址时,您实际上也会在套接字上获得本地端口.因此,在您的示例代码中,创建的两个 ...
- Linux 绑定USB设备端口
Linux 绑定USB设备端口 1 根据设备ID绑定 2 根据电脑USB硬件端口绑定,只要插入该USB端口即为设定设备名 1 根据设备ID绑定 方法特点:按照ID绑定的话不需要固定USB接口,它是根据 ...
- 【Android取证篇】ADB端口驱动更新详细步骤
[Android取证篇]ADB端口驱动更新详细步骤 更新ADB端口驱动,解决无法连接设备问题-[蘇小沐] 1.[记录VID]路径:设备管理器->便携设备->属性->(记录)VID 查 ...
最新文章
- MySQL WindowsCMD常用命令!
- 遇见BUG(4)不要默认电平标准!
- html 找不到文件,WebView 加载本地HTML 文件 提示找不到该文件
- Python学习 - 之 数据封装和私有属性
- C#字符串截取,查找某字符下标
- java什么时候需要同步_JAVA中线程在什么时候需要同步和互斥
- 计算机文字录入培训大纲,《计算机文字录入》课程教学大纲
- javascript语言扩展:可迭代对象(3)
- python 利用递归求阶乘
- 【ML小结6】关联分析与序列模式关联分析
- ubuntu16.04server安装dell服务器H750raid卡驱动
- 用Python网络爬虫来看看最近电影院都有哪些上映的电影
- 数据结构---基础知识必备
- Unity3D中 使模型变成变透明
- Proxifier v3.15
- 使用基于时间的关系加权标准来改善社交网络中的链接预测
- MyEclipse中jer配置
- matlab画图中颜色渐变
- 淘宝接口 TopAPi
- SpringCloud 教程资源
热门文章
- VMware如何使用NAT上网
- 购买国外服务器那些窘事情
- PHP保存数组到数据库
- 芯片是怎样“炼”成的?
- 老妹,2022年,我来带你转型~~~
- vue3时间格式转换为yyyy/mm/dd,yyyy-MM-dd,yyyy-MM-dd hh:mm:ss,hh:mm,yyyy-MM-ddThh:mm:ss+08:00
- *分享-神奇的MLE原因-为什么结构体开的内存不大却MLE?用数组开更大还能ac???
- @ConfigurationProperties注解使用方法(内含源代码)
- 最新Jenkins自动化构建使用 (Unity2020+Jenkins+云效)
- DM共享存储集群搭建