قبل البدء، تحقق من عنوان 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:latestclient سيتصل فقط بخادمنا الذي تم تشغيله مسبقًا، ولن يكشف عن أي موارد. ولأنها لا تكشف عن أي موارد، فلا يوجد أي منفذ يتم كشفه بواسطة هذه الحاوية.عند التشغيل، يجب أن تنتج هذه الحاوية مخرجات مشابهة لما يلي:
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:latestclient سيتصل فقط بخادمنا الذي تم تشغيله مسبقًا، ولن يكشف عن أي موارد. ولأنها لا تكشف عن أي موارد، فلا يوجد أي منفذ يتم كشفه بواسطة هذه الحاوية.عند التشغيل، يجب أن تنتج هذه الحاوية مخرجات مشابهة لما يلي:
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