我正试图在我的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)
,尽管Internet权限在清单文件中。搜索一些教程也没有帮助。结果要么是客户端应用程序,要么是非常复杂的场景。有人能举例说明一个简单的应用程序吗?
最佳答案
在unix类型的环境中,通常需要根访问权限才能绑定到1024以下的tcp端口。您正在尝试绑定到端口80,除非以根用户身份运行此代码,否则操作系统将阻止该请求。