Android手机上的Web服务器
问题描述:
我想在我的Android手机上使用Restlet框架设置一个Web服务器。我的想法是建立一个游戏,其中一部手机在地图上创建一些标记,然后可以使用其他手机直接转移到其他手机。起初(为了简单起见),我想转让一个List
的Objects
。Android手机上的Web服务器
在我的电脑上运行服务器似乎工作正常,但是当我将代码传输到我的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)
,虽然互联网的权限是在manifest文件。搜索一些教程也没有帮助。结果是客户端应用程序或非常复杂的情况。
有人可以举一个简单的应用程序的例子吗?
答
在Unix类型的环境中,您通常需要root访问才能绑定到低于1024的TCP端口。您试图绑定到端口80,除非您以root身份运行此代码,否则操作系统将阻止该请求。
所以你想实现一个服务器只能在私人WiFi网络 - 或者你想启动一个服务器开放的公共互联网? – home
私人WiFi只应该做这项工作,但如果可以从公众访问,比如说,如果没有WiFi将数据传输到其他电话,则会更好。服务器只需要短时间运行,以允许所有玩家下载数据。 –