头疼问题!求助!Android系统如何能绑定80端口创建socket?
想使用一下手机的80端口创建socket,小米2A手机已root过,代码如下:public class SystemManager extends Activity
{
public static boolean RootCommand(String command)
{
Process process = null;
DataOutputStream os = null;
try
{
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(command + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (Exception e)
{
Log.d("*** DEBUG ***", "ROOT REE" + e.getMessage());
return false;
} finally
{
try
{
if (os != null)
{
os.close();
}
process.destroy();
} catch (Exception e)
{
}
}
Log.d("*** DEBUG ***", "Root SUC ");
return true;
}
}
public class MainActivity extends Activity {
Button btn1,btn2;
int port = 80 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String apkRoot="chmod 777 "+getPackageCodePath();
SystemManager.RootCommand(apkRoot);
ServerSocket server;
try {
server = new ServerSocket(port);
Socket conn = server.accept();
} catch (IOException e) {
e.printStackTrace();
}
}
权限
程序运行时,手机显示程序已获取root权限,但是在new ServerSocket(port)时就会异常,提示错误bind failed:EACCES(permission denied),我要是把端口改为1024以上的就可以正常监听端口,请问问题究竟出在哪里呢??? android 绑定端口 80端口 权限 --------------------编程问答-------------------- 没绑定过80,同样好奇 --------------------编程问答-------------------- 貌似没人做过呢 --------------------编程问答-------------------- 置顶置顶置顶 --------------------编程问答-------------------- 在Android上面绑定80端口应该比较难。
ServerSocket server;
try {
server = new ServerSocket(port);
Socket conn = server.accept();
} catch (IOException e) {
e.printStackTrace();
}
这个单独放置Service里面,独立一个Thread 比较好, --------------------编程问答-------------------- 80端口不是访问网络的时候占用的么?已经绑定了再次绑定的话必然报错啊 --------------------编程问答--------------------
大哥,我真不好怎么回答你...访问网络是访问目标端的80端口 --------------------编程问答--------------------
我知道,这只是测试能否成功的,放不放到Thread里对能不能绑定端口没有联系吧。
补充:移动开发 , Android