【问题标题】:Android acting as a wifi server-hub?Android充当wifi服务器集线器?
【发布时间】:2010-11-01 17:19:42
【问题描述】:
我需要一个 android 设备充当 wifi 服务器/集线器,它将接受来自定制设备的原始数据所以首先,我需要 android 设备充当一个 wifi 集线器,可以接受来自我的设备的原始数据。我该如何设置?我概述了系绳应用程序的代码,但我认为这不会奏效。我会很高兴错了,但我不认为它能够广播 wifi。
其次,您对如何设置服务器有什么建议吗?我正在查看数据报通道,但我没有看到任何地方如何将它们绑定到端口,所以我正在考虑只使用标准服务器,但我不确定如何将其连接到 wifi。
如果您对其中任何一个有任何指示,将不胜感激。
~艾顿
【问题讨论】:
标签:
android
sockets
networking
wifi
【解决方案1】:
你实际上有两个不同的问题,甚至不一定都必须用手机来解决。
首先是创建一个无线网络,使用电话或其他东西作为管理接入点(或进行自组织无线)。系绳应用程序可能会对此有所帮助。
第二种是编写一个普通的基于套接字的网络服务器来做任何你想做的事情。这可以在 java 中完成,基本上就像在任何其他平台上一样,或者在本机库中完成,基本上就像任何其他基于套接字的 C 环境一样 - 唯一的 android 独特部分将与活动生命周期相关,让您的代码启动并保持其运行,而不是暂停或杀死以支持前景中的其他东西。
如果您的应用程序足够专业,您可能需要考虑对手机进行 Root。然后,您可以简单地在底层嵌入式 linux 上用 C 语言编写服务器(即使不生根也可以这样做,尽管不鼓励这样做)并设置 OOM 杀手值来保护它,并可能自动启动它。这也可能有助于充当无线网络接入点 - 特别是如果不希望实现从无线到 3g 的任何类似 tether 的 NAT 功能,未经授权的客户端可能会利用这些功能。
您可能还想权衡蓝牙与 wifi 的优势,看看哪个更适合您的应用 - 不仅在技术上,而且在与手机通话的嵌入式设备的成本/复杂性方面。