如何使用macruby进行SCNetworkReachabilityCreateWithName

时间:2011-08-12 15:54:34

标签: pointers macruby

我真的不知道如何将apple提供的示例转换为macruby代码,因为address是一个char指针,irghhh:

SCNetworkReachabilityRef target;
SCNetworkConnectionFlags flags = 0;
Boolean ok;

target = SCNetworkReachabilityCreateWithAddress(NULL, address);
ok = SCNetworkReachabilityGetFlags(target, &flags);

CFRelease(target);

这是Objective-C中的一个示例实现:

Determining Internet Availability on iPhone?

更新:

我刚刚意识到,我可以用macruby本身很快地完成它,但我对你如何用macruby这样做很感兴趣。

def network_available?
  Socket.getaddrinfo('example.com', nil)
rescue
  false
end

1 个答案:

答案 0 :(得分:2)

您应该只获取MacRuby NSString实例的指针:

address = "example.com".pointer
...
target = SCNetworkReachabilityCreateWithAddress(NULL, address)