如何将手机连接到笔记本电脑?

时间:2012-05-18 09:07:51

标签: java android tcpclient

我想通过WiFi使用我的智能手机连接到我的笔记本电脑和其他智能手机。 我写了一个应用程序(android),但只能找到wifi网络,没有设备。 有没有人知道如何找到智能手机和笔记本电脑?

2 个答案:

答案 0 :(得分:1)

根据您的问题,我认为您的智能手机基于Android。我还假设,当你说你"找不到设备"你的意思是笔记本电脑创建的WLAN网络。

我似乎记得在Android文档中的某处读到Android设备无法连接(甚至检测)ad-hoc无线网络。 Ad-hoc网络通常是由非专用网络设备(如Windows计算机)托管的网络。

您可以使用某些实用程序软件使用计算机创建基础结构类型的无线网络(而不是ad-hoc)。除此之外,你几乎只限于使用由网络路由器托管的实际基础设施无线网络,并通过它连接所需的设备,这实际上是通常的(W)局域网使用场景。

答案 1 :(得分:0)

好问题!与蓝牙和其他一些协议不同,WiFi不允许您发现网络中的其他设备。要在WiFi网络上查找其他设备,您需要在更高层的TCP堆栈中运行应用程序。然后,您可以向所有设备发送TCP或UDP数据包,如果您收到回复,则几乎可以确保其他设备在网络中。这是一个非常脆弱的过程,许多障碍(如防火墙)可能会阻止发现过程。这就是为什么你需要等待windows以发现网络打印机或网络计算机的原因。

要在Java / Android(或任何其他平台)中实现这样的功能,最简单的方法是编写一个运行后台线程并侦听broadcast messages的应用程序。如果要启动发现过程(在发现方),则发送广播消息并等待回复。另一方面(发现方),如果您收到广播消息,则只需回复包含所需信息的消息(例如,设备名称)。收到回复消息后(在发现者身上),您可以轻松找到网络中的其他设备。

或者,您可以使用TCP套接字进行探测。在这种情况下,由于不支持广播消息,您需要尝试连接到网络中的每个可能的IP地址(通常,这至少是255个IP地址),这会使进程慢得多。

This可能会有所帮助。

相关问题