chakokuのブログ(rev4)

日々のごった煮ブログです

Apple(iOS/macOS) Network Frameworkを調べる

やりたいこと
UDPマルチキャストでEchonetLite機器を探し出すiOSのアプリを作る。そして審査に出す*1

とりくみ
iOS関連のプログラミング環境というか、ライブラリ群がまったくわかっていないので、Networkプログラミングをどうやって行うのかを調べる。
appleのNetwork Frameworkのオンラインマニュアルなんぞを見てみる。NWConnection,NWConnectionGroup,NWProtocolUDPあたりを使うのか?と推測

英語だけど、、WWDC2018のセッション715では、Network.Frameworkの概要説明とUDPによる動画配信デモをやっている。細かい部分はわからんが、従来のSocket
によるアーキテクチャから、ユーザ空間で実行される新Frameworkに切り替えることで、実装も簡単に、かつ実行効率も上がったと言ってるように思える。OSのネットワークライブラリとの接続がSocketでなく、Memory Mapped Channelになったと。。それがソース内のQueueなのか!?

■ご参考URL
Introducing Network.framework: A modern alternative to Sockets - WWDC 2018 - Videos - Apple Developer
Apple Developer Documentation
WWDC2018で説明されたプレゼン資料(PDF)、ソースも入ってる
https://devstreaming-cdn.apple.com/videos/wwdc/2018/715o2fzpdzzzf5f0/715/715_introducing_networkframework_a_modern_alternative_to_sockets.pdf?dl=1

Appでマルチキャストネットワークを使用するには - 見つける - Apple Developer

Swiftでコマンドラインツール作成の誘い - Qiita

How to work with UDP sockets in iOS, swift? - Stack Overflow

*1:なぜiOS?・・・ 勉強のためiOSデベロッパの金払っていて、どうせデベロッパならアプリを出してみようと。。 なぜEchonetLite?・・・仕事でそういったのに関係しているから