从Linux到Android的Wi-Fi P2P

问题描述 投票:3回答:1

我想以编程方式将具有运行Linux(客户端)的具有Wi-Fi访问能力的Raspberry Pi的文件传输到Android手机(主机)。我正在使用this link作为如何在Android上建立P2P连接的指南,但是我找不到任何引用来处理非Android设备上的客户端。我知道我可以使用this link提供有关将客户端连接到主机的文档,但是在如何实际发送文件方面没有任何线索。

本质上,我想知道的是:从Linux文档中,我可以在Linux上做些什么来达到与上述相同的效果吗?我完全被误导了吗?

/**
 * Create a client socket with the host,
 * port, and timeout information.
 */
socket.bind(null);
socket.connect((new InetSocketAddress(host, port)), 500);

/**
 * Create a byte stream from a JPEG file and pipe it to the output stream
 * of the socket. This data is retrieved by the server device.
 */
OutputStream outputStream = socket.getOutputStream();
ContentResolver cr = context.getContentResolver();
InputStream inputStream = null;
inputStream = cr.openInputStream(Uri.parse("path/to/picture.jpg"));
while ((len = inputStream.read(buf)) != -1) {
    outputStream.write(buf, 0, len);
}
outputStream.close();
inputStream.close();

编辑:也许我很困,但是如果连接了设备,是否有办法像this一样简单地对待它? Android文档指出,它可以支持UPnP和Bonjour作为服务,如果可以提供任何指示的话。如果是这样,传输大型(最大5Gb)文件时我应该注意什么?如果没有关系,我深表歉意。

编辑2:用于建立连接的解决方案在wpa_cli中,尤其是,命令p2p_find进行发现,p2p_peers查看所发现的内容,以及p2p_connect <MAC_of_peer> pbc go_intent=0停止搜索并连接到Android主机。您可以通过ip a看到它显示为本地网络。但是,现在我似乎在Android方面遇到了问题,并且冒险继续在this question中进行。

android linux sockets wifip2p
1个回答
0
投票

[建立连接的解决方案在wpa_cli中,尤其是,命令p2p_find进行发现,p2p_peers查看所发现的内容,以及p2p_connect <MAC_of_peer> pbc go_intent=0停止搜索并连接到Android主机。您可以通过ip a看到它显示为本地网络。但是,现在我似乎在Android方面遇到了问题,对于任何有兴趣的人,冒险都将继续在this question中进行。

© www.soinside.com 2019 - 2024. All rights reserved.