我正试图在我的android手机上使用restlet框架建立一个web服务器。我的想法是建立一个游戏,其中一个手机在地图上创建一些标记,然后可以直接转移到其他手机使用休息。一开始(为了简单起见),我想转移一个ListObjects
在我的电脑上运行一个服务器似乎工作得很好,但是当我将代码传输到我的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),尽管Internet权限在清单文件中。搜索一些教程也没有帮助。结果要么是客户端应用程序,要么是非常复杂的场景。
有人能举例说明一个简单的应用程序吗?

最佳答案

在unix类型的环境中,通常需要根访问权限才能绑定到1024以下的tcp端口。您正在尝试绑定到端口80,除非以根用户身份运行此代码,否则操作系统将阻止该请求。

10-04 10:48