HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我应该使用哪个高级API来管理iOS上的UDP套接字?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在“ Network Programming Topics Conceptual Guide”的“ Using Sockets and Streams”一章中,Apple说:

同样在“Networking Overview Guide”的“Networking Tips and Pitfalls”一章中,Apple说:

好的,所以在iOS上,既不应该使用POSIX套接字也不应该使用CFSocket,这只是一个围绕POSIX套接字的薄包装,它支持通过RunLoops进行异步网络连接.没问题.但是,如果需要UDP套接字,您应该使用什么API?

Apple在“Networking Overview Guide”的章节“Networking Tips and Pitfalls”中进一步说:

因此,理想情况下应该有一个用于管理UDP套接字的API,而不是POSIX API和CFSocket,它接受DNS名称而不是目标地址的IP地址.

也许我是盲人但我找不到任何这样的API.有任何想法吗?

使用任何第三方API(不是ApplE)都不是很有趣,因为这样的API必须基于Apple API,在这种情况下我可以直接使用这个Apple API.在POSIX套接字周围编写我自己的包装器API是小菜一碟,我之前写过很多套接字包装器,我已经知道了所有令人讨厌的陷阱.但我不会使用POSIX API,这是最初的问题.

解决方法

我向Apple提出了完全相同的问题,他们的回复或多或少是因为UDP套接字没有任何高级接口.无论Apple在他们的指南中说什么,当使用UDP时,要么直接使用POSIX套接字,要么与poll()或SELEct()等异步管理器结合使用,要么创建POSIX套接字(可能使用bind()和/或connect( )根据需要)然后使用CFSocketCreateWithNative()将其包装到CFSocket对象中以获得RunLoop集成.这是最好的API.所有更高级别的API都设计为仅与TCP一起使用.

大佬总结

以上是大佬教程为你收集整理的我应该使用哪个高级API来管理iOS上的UDP套接字?全部内容,希望文章能够帮你解决我应该使用哪个高级API来管理iOS上的UDP套接字?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。