ก่อนเริ่มต้น ให้ตรวจสอบ 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