2012-04-01 90 views
1

我必须打开一个NSStream到只有数字地址,而不是名称的wifi接入点。它需要NSStream 30-40秒来打开一个套接字。在实验中,我发现远程登录到一个窗口框的AP是瞬时的,但在Mac上,连接相同的30-40秒。在研究telnet时,我发现这个实现在mac上有点不同,因为默认情况下会尝试进行名称查找。阅读手册页的telnet,我发现: - 当目标主机作为IP地址给出时,阻止IP地址进行名称查找。NSStream - 反向DNS查找错误

当我使用“telnet -N IP地址端口”,我的连接瞬间!我怀疑这个问题导致我的NSStream连接延迟。有什么办法可以做到相当于在NSStream中设置“-N”标志吗?

回答

1

看起来NSHost在Cocoa Touch上不可用,所以你不能强制给定地址的主机,但我不知道是否否定了对dns查找的需要。

自2005年以来,这个问题一直存在,但这可能不适用于Cocoa Touch库。在任何情况下,没有给出解决办法:

+0

在我看来,就好像使用CFSocket API会得到解决此问题。 – JeremyP 2012-04-02 15:06:45

+0

我搞砸了这个和CFSocket(在这种情况下通过SimpleSocket)确实工作 – nflacco 2012-04-02 22:19:27