قبل البدء، تحقق من عنوان IP الخاص بجهازك داخل شبكتك:
$ ifconfig
انتقل إلى ملف TCPClient.Dockerfile
وقم بتغيير عنوان HOST_TCP_SERVER
إلى IP الخاص بك، السطر 7.
افعل الشيء نفسه بالنسبة لملف UDPClient.Dockerfile
وقم بتغيير عنوان HOST_UDP_SERVER
إلى IP الخاص بك، السطر 7.
سيتم هنا شرح كيفية تشغيل خادم 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:
يجعل عامل الإرساء يعرض المنفذ 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
يجعل عامل الإرساء يعرض منفذ الحاوية 54321
لجهاز الكمبيوتر الخاص بك، وبالتالي ستكون الخدمة مرئية من خلال واجهات الشبكة الأخرى داخل جهازك.-p 54321:54321/udp
، نستخدم /udp
، وهذا ضروري لأنه، افتراضيًا، يحتفظ عامل الإرساء باتصال 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