我正在尝试使用Android手机上的Restlet框架设置Web服务器。我的想法是建立一个游戏,其中一个手机在地图上创建一些标记,然后可以使用休息直接传输到其他手机。首先(为简单起见),我想传输一个List
Objects
。
在我的计算机上运行服务器似乎工作正常,但是当我将代码传输到我的Android应用程序时,它将无法启动服务器。这是代码:
Component serverComponent = new Component();
serverComponent.getServers().add(Protocol.HTTP, 80);
final Router router = new Router(serverComponent.getContext().createChildContext());
router.attach("/gamedata", GameDataResourceServer.class);
serverComponent.getDefaultHost().attach(router);
serverComponent.start();
执行第serverComponent.start();
行时,抛出此异常:
java.net.BindException: Permission denied (maybe missing INTERNET permission)
,虽然互联网权限在清单文件中。搜索一些教程也没有帮助。结果是客户端应用程序或非常复杂的场景
有人可以为一个简单的应用程序举个例子吗?
答案 0 :(得分:4)
在Unix类型的环境中,您通常需要root访问权限才能绑定到1024以下的TCP端口。您正尝试绑定到端口80,除非您以root身份运行此代码,否则操作系统将阻止该请求。