当前位置:编程学习 > wap >>

请教cuit版主一些问题

cuit版主,您好!
我是上次请教您有关wp8中实现adhoc那位,现在我改在win8上来实现adhoc,但是仍然遇到一些问题。不知您是否方便帮忙解答一下,具体问题如下。谢谢您!
目前最大的问题就是:win8中,可否编程实现一个设备同时与多个设备通过wifi direct方式通信?
(1)msdn中介绍说可以使用PeerFinder.FindAllPeerAsync查找周围wifi direct设备,然后再使用PeerFinder.ConnectAsync来建立SocketStream,进而实现wifi direct通信。但是这里有个问题是,使用PeerFinder.ConnectAsync建立起连接的设备,在连接期间不能被其它设备使用PeerFinder.FindAllPeerAsync查找到。这样也就限制成wifi direct设备每次只能和一个设备建立wifi直连通信,而不能同时和多个设备建立wifi direct通信了,如果我想实现同时和多个设备进行wifi direct通信,应该如何做到呢?
(2)使用StreamSocket.ConnectAsync建立起的连接,和使用PeerFinder.ConnectAsync建立起的连接有什么区别吗?哪个可以实现同时与多个设备建立wifi direct连接?
(3)有无api可以控制使用wifi direct通信?底层确定为wifi direct方式通信,那么它与上册StreamSocket是什么关系?可否同时开启多个StreamSocket来使用wifi direct通信?
谢谢您!
祝您工作顺利!生活愉快!

--------------------编程问答-------------------- 1,在连接期间不能被其它设备使用PeerFinder.FindAllPeerAsync查找到
可能指的是在建立连接的过程中而不是已经建立连接以后,我试验过,可以连接多个设备的。

2,你需要补充点OSI 7层协议的知识。
PeerFinder.ConnectAsync是建立连接。
StreamSocket.ConnectAsync是建立通信。
必须要先连接再通信。

3,微软的api隐藏了下层的实现,你可以通过设置allowXXX为ture或false来选择下层用什么协议。
而你通信的时候,不用关心下层。


--------------------编程问答--------------------
引用 1 楼 cuit 的回复:
1,在连接期间不能被其它设备使用PeerFinder.FindAllPeerAsync查找到
可能指的是在建立连接的过程中而不是已经建立连接以后,我试验过,可以连接多个设备的。

2,你需要补充点OSI 7层协议的知识。
PeerFinder.ConnectAsync是建立连接。
StreamSocket.ConnectAsync是建立通信。
必须要先连接再通信。

3,微软的api隐藏了下层的实现,你可以通过设置allowXXX为ture或false来选择下层用什么协议。
而你通信的时候,不用关心下层。


谢谢版主。
1,好像有些不对。http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.proximity.peerfinder.connectasync.aspx
这里面的Remarks部分有两段话是这么说的:
If an app calls the ConnectAsync method to create a connection with a peer, the app will no longer advertise for a connection and will not be found by the FindAllPeersAsync method until the app calls the Close method to close the socket connection.
If you open a socket connection by calling the ConnectAsync method, only one socket connection can be open at a time for the computer. If your app, or another app calls the ConnectAsync method, then the existing socket connection will close.
您试验可以同时连接多个设备,是使用wifi direct进行的吗?他们之间可以同时通信吗?如果一台是被可以同时连接多个设备,那么可否基于wifi direct之上,实现设备之间多对多的同时通信?

2,可否使用PeerFinder.ConnectAsync同时建立与多个设备的连接,然后再和他们同时通信?

3,在模拟器环境下,是否没有wifi direct通信,得使用真机才可以?


--------------------编程问答-------------------- 我是用peerfinder,但下层应用是用的蓝牙。我没有两台平板,所以测试不了wifi direct
你要明白,peerfinder只负责连接,但连接的协议由AllowXXX来定。

模拟器肯定是没有wifi direct的 --------------------编程问答--------------------
引用 3 楼 cuit 的回复:
我是用peerfinder,但下层应用是用的蓝牙。我没有两台平板,所以测试不了wifi direct
你要明白,peerfinder只负责连接,但连接的协议由AllowXXX来定。

模拟器肯定是没有wifi direct的


您当时试验连接多个设备,是采用哪种连接方式?wifi direct还是蓝牙?一台设备可以基于wifi direct或者蓝牙基础上,同时连接多个设备吗?它们可以同时进行通信吗?
--------------------编程问答-------------------- 我用的蓝牙,可以。 --------------------编程问答--------------------
引用 5 楼 cuit 的回复:
我用的蓝牙,可以。


那么您了解wifi direct可以吗?

--------------------编程问答--------------------
引用 6 楼 bhzdw 的回复:
Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?




我没有设备,测试不了。 --------------------编程问答--------------------
引用 7 楼 cuit 的回复:
Quote: 引用 6 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?




我没有设备,测试不了。



这样啊,那么您当时使用蓝牙,测试多个设备连接,测试设备使用的是surface还是其它?
--------------------编程问答--------------------
引用 8 楼 bhzdw 的回复:
Quote: 引用 7 楼 cuit 的回复:

Quote: 引用 6 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?






我没有设备,测试不了。



这样啊,那么您当时使用蓝牙,测试多个设备连接,测试设备使用的是surface还是其它?


引用 8 楼 bhzdw 的回复:
Quote: 引用 7 楼 cuit 的回复:

Quote: 引用 6 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?




我没有设备,测试不了。



这样啊,那么您当时使用蓝牙,测试多个设备连接,测试设备使用的是surface还是其它?


Lumia 920 --------------------编程问答--------------------
引用 9 楼 cuit 的回复:
Quote: 引用 8 楼 bhzdw 的回复:

Quote: 引用 7 楼 cuit 的回复:

Quote: 引用 6 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?






我没有设备,测试不了。



这样啊,那么您当时使用蓝牙,测试多个设备连接,测试设备使用的是surface还是其它?


引用 8 楼 bhzdw 的回复:
Quote: 引用 7 楼 cuit 的回复:

Quote: 引用 6 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


那么您了解wifi direct可以吗?




我没有设备,测试不了。



这样啊,那么您当时使用蓝牙,测试多个设备连接,测试设备使用的是surface还是其它?


Lumia 920


好的哈,谢谢版主悉心解惑。
--------------------编程问答--------------------
引用 5 楼 cuit 的回复:
我用的蓝牙,可以。


版主,您好!
我今天想到一个问题。我现在手里也没有surface,估计还得等一段时间才有,所以模拟不了wifi direct功能。我想买一个具有wifi direct功能的无线网卡,然后装到机器上,操作系统是win8的,您觉得这样模拟出像surface这样的具有wifi direct功能吗?
谢谢您!

--------------------编程问答--------------------
引用 11 楼 bhzdw 的回复:
Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


版主,您好!
我今天想到一个问题。我现在手里也没有surface,估计还得等一段时间才有,所以模拟不了wifi direct功能。我想买一个具有wifi direct功能的无线网卡,然后装到机器上,操作系统是win8的,您觉得这样模拟出像surface这样的具有wifi direct功能吗?
谢谢您!


当然可以 --------------------编程问答--------------------
引用 12 楼 cuit 的回复:
Quote: 引用 11 楼 bhzdw 的回复:

Quote: 引用 5 楼 cuit 的回复:

我用的蓝牙,可以。


版主,您好!
我今天想到一个问题。我现在手里也没有surface,估计还得等一段时间才有,所以模拟不了wifi direct功能。我想买一个具有wifi direct功能的无线网卡,然后装到机器上,操作系统是win8的,您觉得这样模拟出像surface这样的具有wifi direct功能吗?
谢谢您!


当然可以


好的,谢谢版主。
这两天一直在找能支持wifi direct的无线网卡USB,好像不是很好找。
--------------------编程问答-------------------- 最近在学习adhoc在linux的使用,发现版主的名字?我们是同一个学校?
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,