iPhone客户端开发笔记(五)
1,第一个麻烦:怎样判断联网状态。
好在通过help找到了SCNetworkReachabilityCreateWithName系列接口,并有一个Reachability例子可以参考。
2,第二个麻烦:该例子需要SystemConfiguration.framework。
花了十分钟找到方案:在项目左侧树状列表的Frameworks右键,弹出菜单中选择“add existing framework”,选好后,同时会把该framework的runtime加入树状列表的Targets中。
3,联网步骤:
a,启动后,检测联网状态,得到两个结果:WiFi是否可达,TS是否可达。
b,哪个可达,就发起对哪个对象的连接。全都可达,全部同时连接。
c,先收到哪个登录成功的反馈,将该连接作为通讯连接,同时关闭另外一个。
由于认证策略中用户名唯一,所以本地还是远程都不重要了。原来的认证策略用户名相同,口令不同,所以给判断登录造成极大麻烦。
更简单的做法是,根本不检测联网状态,直接发起对本地和远程的连接,那个成功就以哪个为准。
4,发起UDP广播寻找网关。
AsyncUdpSocket搞定,向255.255.255.255发起广播。