使用Objective-c打开TCP套接字

时间:2012-03-31 20:09:53

标签: objective-c sockets tcp

如何使用Objective-C创建TCP套接字,检查服务器上是否打开了某些TCP端口?

我尝试使用一些教程但没有工作,因为我需要创建一个使用IP(198.168.0.000)的服务器而不是像某些博客文章那样使用的网站,例如paypal.com。

我对使用哪个类以及如何使用感到困惑。我知道这不是最好的地方,但不知道在哪里搜索。

感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

我建议CocoaAsyncSocket进行此类工作。你可以手工完成,但如果你在ObjC工作,那么CocoaAsyncSocket是一个更好的界面。

答案 1 :(得分:2)

我建议你看一下NSStream及其子类NSInputStream和NSOutputStream。

要检查连接性,您还可以考虑查看Reachability

除了Objective-C是C的超集,所以你总是可以依赖C结构/函数来创建套接字(Beej's guide to network programming

答案 2 :(得分:1)

从Apple的文档开始通常是一个好主意。阅读流编程指南中的Setting Up Socket Streams。有了这个,即使你决定选择第三方图书馆,你也会很清楚它在幕后做了什么。

答案 3 :(得分:0)

iOS上有一些用于网络套接字的API选择。如果你有现有BSD套接字unix服务器的代码,你做了你想要的,我会创建一个辅助线程,只使用该线程上的现有代码。使用BSD套接字的最佳说明是Unix Network Programming by Stevens

如果它是仅在iOS上运行的新代码,我同意Rob Napier认为CocoaAsyncSocket是一种合理的方式。