我正在尝试使用套接字和WP7.5。目前,我正在研究套接字的SetNetworkRequirement属性。我遵循这个how-to,然而,操作系统似乎忽略了网络要求。
当我将需求设置为蜂窝时,即使我只连接到3G,当我执行ConnectAsync时也没有任何反应。但是,如果我连接到Wifi并使用NonCellular,我可以在我的tcpdump中看到已建立连接。
奇怪的是,SDK行为没有记录。当我将需求设置为蜂窝时,我仍然得到SocketError.Success,即使我可以看到没有建立连接。我也可以使用此套接字发送数据,SendAsync也接收SocketError.Success。
我的问题是,有没有人看到类似的行为或运气设置网络要求蜂窝?另一个奇怪的观察是,如果我要求手机连接到不存在的IP /端口,我会在两个接口上看到连接尝试。基于此,我怀疑有一些无法缓存的缓存正在进行中。
编辑:我对此做了一些调试。描述的行为似乎与port相关联。如果我使用80以外的任何其他端口,则手机会连接Cellular和NonCellular。
提前致谢。
答案 0 :(得分:0)
如果有人遇到相同的行为,一切都表明这是一个操作系统错误。似乎存在与在端口80上运行的服务器相关的问题,因为对于每个其他端口(我已经尝试过),都遵守setNetworkRequirement。