本サイトに記載のある会社名、製品名等は、各社の登録商標または商標です。本文中にTM、(R)マークは明記しておりません。 ※Apple、Apple ロゴ、Safariは米国および他の国々で登録された Apple Inc. の商標です。 ※iPadはApple Inc.の登録商標です。 ※Xcode,Swift,Playgrounds,Swift Playgroundsは、米国及びその他の国で登録されているApple Inc.の商標です。
▶︎ 次へ
通信の仕組み （ネットワークを通じた双方向プログラミング）
◀︎ 前へ
①通信ネットワーク
インターネットなどで使用されている通信ネットワークは、TCP/IPなどの通信規約（ルール）の上でプログラム同士がデータを交換する仕組みによって形成されています。 　このブックは、通信ネットワークを理解するために、複数のiPadでデータを交換し合う内容を取り扱っています。
▶︎ 次へ
TCP/IP
機器のIPアドレス
②サーバーとクライアント
TCP/IPプロトコルの上で通信するプログラムはその役割の違いから、サーバー（提供者）とクライアント（顧客）と呼ばれています。一般的に、サーバープログラムは、クライアントからの接続を指定したポート番号で待機しています。クライアントは、IPアドレスで指定したサーバーのポート番号に接続して、通信を開始するプログラムです。
指定した ポート番号 で待機
IPアドレスとポート番号を指定して接続
1️⃣リスナーで待機
サーバープログラム側で待機しているプログラムはリスナー（視聴者）と呼ばれています。リスナーがクライアントから接続要求を受けて確立できたデータの送信／受信の出入口の事をコネクション（接続）と呼んでいます。
2️⃣コネクション 要求して接続
3️⃣リスナーがコネクション 要求を受け付けて接続
⬇️
4️⃣コネクション の確立
③リスナーとコネクション
・自分が受信中の時は送信できない。 ・クライアントが受信中でないと送信できない。
送信
はじめましょう
一旦、コネクションが確立すると、クライアントとサーバーは、コネクションを通じてデータを送信（send）、受信（recieve）します。どちらか一方が送信するタイミングでは、もう一方は受信しなければいけません。 　送信と受信は常に１対１の関係になります。
受信
④受信と送信
・サーバーが受信中でないと送信できない。 ・自分が受信中の時は送信できない。
コネクション