2012-11-21 98 views
0

我试图创建一个非常基本的TCP/IP服务器和客户端(这将是iPhone)设置。我一直在使用苹果的示例代码如下所示:iPhone socket流和有效的IP地址

http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html

我得到了我的读取和写入流运作良好。我使用IP地址通过WiFI连接到本地网络。

但是我现在有故障检查,如果IP地址可以找到,关键的是,如果它可以连接到服务器。我看了苹果提供的Reachabilty例子,但它仍然报告成功,即使我输入一个随机的不存在的IP,如:123.456.7.8

任何人都可以指导我应该看什么?我所做的是为我正在努力实现的目标做了什么?

感谢提前:)

+0

什么服务器?你可以使用Bonjour吗?这会让事情变得简单。 – rmaddy

回答

0

可达性框架只告诉如果一个数据包可以被路由,而不是是否会去任何地方。见http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

如果你想看看你是否可以得到一个网络地址,你应该检查可达性,然后ping通:iOS - Ping with timeout。在我所有的iOS应用程序中,我都懒得检查ping。我知道我使用的是良好的网址,我认为可达性就足够了。

注Bene的:可达性是熊。你必须在后台线程中启动它。不要从前台线程运行它,它可以永远拿复出,并杀死你的应用程序。