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