积极答复者
WinCE6: 如何为VS2005的Deploy设置TCP连接优先级

问题
-
我在使用VS2005的Deploy在线调试程序时,在PC和CE6设备间同时建立了USB ActiveSync连接和WiFi连接。
PC端IP为192.168.3.17
CE6设备端USB ActiveSync连接获得的IP是192.168.55.101
CE6设备端WiFi连接获得的IP是192.168.3.61
我设置的是USB ActiveSync调试程序,但是我发现程序调试时实际的数据通信是通过WiFi进行的。以下是Deploy工作时CE6设备端的TCP端口信息:
TCP TABLE
Loc Addr Loc Port Rem Addr Rem Port State
0.0.0.0 21 0.0.0.0 4196 LISTEN
0.0.0.0 990 0.0.0.0 4160 LISTEN
0.0.0.0 5655 0.0.0.0 20549 LISTEN
192.168.3.61 5655 192.168.3.17 3102 ESTAB
192.168.3.61 5655 192.168.3.17 3103 ESTAB
192.168.3.61 6510 192.168.3.17 3104 ESTAB
192.168.3.61 6510 192.168.3.17 3105 ESTAB
192.168.55.101 990 192.168.55.100 1164 ESTAB
192.168.55.101 990 192.168.55.100 1165 ESTAB
192.168.55.101 49152 192.168.55.100 5679 ESTAB
192.168.55.101 49153 192.168.55.100 7438 ESTAB
192.168.55.101 49154 192.168.55.100 5678 ESTAB
192.168.55.101 49155 192.168.55.100 5678 ESTAB
可以看出端口5655和6510被绑定到192.168.3.61,也就是WiFi设备地址上了。
如果我断开WiFi连接,Deploy就会正常的通过USB ActiveSync进行。以下是Deploy工作时CE6设备端的TCP端口信息:
TCP TABLE
Loc Addr Loc Port Rem Addr Rem Port State
0.0.0.0 21 0.0.0.0 4196 LISTEN
0.0.0.0 990 0.0.0.0 4160 LISTEN
0.0.0.0 5655 0.0.0.0 20549 LISTEN
192.168.55.101 990 192.168.55.100 1164 ESTAB
192.168.55.101 990 192.168.55.100 1165 ESTAB
192.168.55.101 5655 192.168.55.100 1176 ESTAB
192.168.55.101 5655 192.168.55.100 1177 ESTAB
192.168.55.101 6510 192.168.55.100 1178 ESTAB
192.168.55.101 6510 192.168.55.100 1179 ESTAB
192.168.55.101 49152 192.168.55.100 5679 ESTAB
192.168.55.101 49153 192.168.55.100 7438 ESTAB
192.168.55.101 49154 192.168.55.100 5678 ESTAB
192.168.55.101 49155 192.168.55.100 5678 ESTAB
可以看出端口5655和6510被绑定到192.168.55.101,也就是USB设备地址上了。
但是由于WiFi有特别应用,客户要求Deploy必须通过USB ActiveSync进行,不能通过WiFi。
哪位高手可以指点一下,怎么才能在USB ActiveSync和WiFi都连接的情况下,让Deploy不要走WiFi,而是通过USB?
还有,Deploy一定要通过端口5655和6510吗?可不可以像ActiveSync文件传输一样,只通过990端口?
万分感谢!
答案
-
谢谢版主的帮助。
常用的VS2005设置似乎是解决不了这个问题。前两天,我和另一个同事通过以下两方面临时解决了这个问题:
一方面,在WinCE里锁定Deployment的配置文件,就是禁止ConManClient2.exe在配置文件中写入WiFi的IP地址。这样一来,Port5655就被绑定到USB ActiveSync的IP上了。
另一方面,利用WinCE的防火墙编程,阻塞WiFi这个interface的Port6510。
不过今天,在研究wince OpenNetCF例程时,偶尔发现了问题的根源。就是因为WiFi路由的Metric参数值小于USB ActiveSync的。所以,只要将USB ActiveSync路由的Metric参数改成小于WiFi的,就可以了。这是第二种解决方案,比较直接。
结贴。。。
- 已标记为答案 Jesse JiangModerator 2011年1月19日 3:53
全部回复
-
您好,
我想这个应该很难做到,因为IDeviceAgentTransport::AcceptConnectionEx 这里面没有提供更多可以设置的参数,所以通过一般编程的方式可能无法实现。
致礼
Jesse Jiang [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
-
如果是这样的话 您尝试按照这个blog中的步骤去做
http://kavachai.com/2009/11/04/how-to-connect-windows-ce-5-0-emulator-to-visual-studio-2005/
这里是设置某些指定的文件夹,您可以尝试一下。
致礼
Jesse Jiang [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
您好,
您的问题解决了没有,如果没有的话,请及时更新帖子信息
致礼
Jesse Jiang [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
谢谢版主的帮助。
常用的VS2005设置似乎是解决不了这个问题。前两天,我和另一个同事通过以下两方面临时解决了这个问题:
一方面,在WinCE里锁定Deployment的配置文件,就是禁止ConManClient2.exe在配置文件中写入WiFi的IP地址。这样一来,Port5655就被绑定到USB ActiveSync的IP上了。
另一方面,利用WinCE的防火墙编程,阻塞WiFi这个interface的Port6510。
不过今天,在研究wince OpenNetCF例程时,偶尔发现了问题的根源。就是因为WiFi路由的Metric参数值小于USB ActiveSync的。所以,只要将USB ActiveSync路由的Metric参数改成小于WiFi的,就可以了。这是第二种解决方案,比较直接。
结贴。。。
- 已标记为答案 Jesse JiangModerator 2011年1月19日 3:53