本サイトに記載のある会社名、製品名等は、各社の登録商標または商標です。本文中に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)します。どちらか一方が送信するタイミングでは、もう一方は受信しなければいけません。
送信と受信は常に1対1の関係になります。
受信
④受信と送信
・サーバーが受信中でないと送信できない。
・自分が受信中の時は送信できない。
コネクション