tcp udp
1.0.0
開始する前に、ネットワーク内のマシンの IP を確認してください。
$ ifconfig
TCPClient.Dockerfile
ファイルに移動し、7 行目のHOST_TCP_SERVER
アドレスを自分の IP に変更します。
UDPClient.Dockerfile
ファイルに対しても同じことを行い、7 行目のHOST_UDP_SERVER
アドレスを自分の IP に変更します。
ここではTCPサーバーとクライアントの動作方法について説明します。
サーバーの実行を担当するコンテナを起動するには、次のコマンドを実行します。
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-server -f TCPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 12345:12345 tcp-server:latest
-d
オプションを使用すると、コンテナーがdetached
モードで実行されます。-p 12345:12345:
Docker がコンテナのポート12345
コンピュータに公開するため、マシン内の他のネットワーク インターフェイスを通じてサービスが表示されるようになります。 クライアント ロールの実行を担当するコンテナーを起動するには、次のコマンドを実行します。
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-client -f TCPClient.Dockerfile .
sd@sd:~ $ docker run tcp-client:latest
client
以前に実行したサーバーにのみ接続し、リソースを公開しないため、ポート マッピング オプションはありませんでした。また、リソースを公開しないため、このコンテナーによって公開されるポートはありません。このコンテナを実行すると、次のような出力が生成されるはずです。
Time: 0.735 m/s
Time: 0.208 m/s
Time: 0.278 m/s
Time: 0.210 m/s
Time: 0.311 m/s
Time: 0.221 m/s
Time: 0.271 m/s
Time: 0.225 m/s
Time: 0.106 m/s
Time: 0.173 m/s
Tempo médio: 0.274 m/s
Desvio padrão: 0.172
Tempo máximo: 0.735 m/s
Tempo mínimo: 0.106 m/s
ここではUDPサーバーとクライアントの動作方法について説明します。
サーバーの実行を担当するコンテナを起動するには、次のコマンドを実行します。
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-server -f UDPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 54321:54321/udp udp-server:latest
-d
オプションを使用すると、コンテナーがdetached
モードで実行されます。-p 54321:54321/udp
オプションを使用すると、docker がコンテナーのポート54321
コンピューターに公開するため、サービスはマシン内の他のネットワーク インターフェイスを介して認識できるようになります。-p 54321:54321/udp
では、 /udp
を使用することに注意してください。これが必要なのは、デフォルトで docker がTCP
通信を維持し、この場合はUDP
通信である必要があるためです。 クライアント ロールの実行を担当するコンテナーを起動するには、次のコマンドを実行します。
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-client -f UDPClient.Dockerfile .
sd@sd:~ $ docker run udp-client:latest
client
以前に実行したサーバーにのみ接続し、リソースを公開しないため、ポート マッピング オプションはありませんでした。また、リソースを公開しないため、このコンテナーによって公開されるポートはありません。このコンテナを実行すると、次のような出力が生成されるはずです。
From server: Hi, Client. Ok!
Time: 0.174 m/s
From server: Hi, Client. Ok!
Time: 0.116 m/s
From server: Hi, Client. Ok!
Time: 0.086 m/s
From server: Hi, Client. Ok!
Time: 0.080 m/s
From server: Hi, Client. Ok!
Time: 0.074 m/s
From server: Hi, Client. Ok!
Time: 0.091 m/s
From server: Hi, Client. Ok!
Time: 0.065 m/s
From server: Hi, Client. Ok!
Time: 0.098 m/s
From server: Hi, Client. Ok!
Time: 0.081 m/s
From server: Hi, Client. Ok!
Time: 0.107 m/s
Tempo médio: 0.097 m/s
Desvio padrão: 0.031
Tempo máximo: 0.174 m/s
Tempo mínimo: 0.065 m/s