Hình 2,6-1:. Các quá trình giao tiếp thông qua TCP socket
Bây giờ chúng ta hãy để một cái nhìn sâu hơn về sự tương tác của chương trình client và server. Các khách hàng có được công việc khởi cowith máy chủ. Để cho máy chủ để có thể phản ứng với tiếp xúc ban đầu của khách hàng, máy chủ đã sẵn sàng. Điều này ngụ ý
hai điều. Đầu tiên, các chương trình máy chủ không thể không hoạt động; nó phải được chạy như một quá trình trước khi khách hàng cố gắng initiatecontact. Thứ hai, chương trình máy chủ phải có một số loại cửa (tức là, ổ cắm) chào đón một số tiếp xúc ban đầu từ một khách hàng
(chạy trên một máy tùy ý). Sử dụng tương tự nhà / cửa của chúng tôi cho một quá trình / socket, chúng ta sẽ đôi khi gọi của khách hàng
liên hệ với ban đầu là "gõ cửa".
Với quá trình máy chủ đang chạy, quá trình khách hàng có thể bắt đầu một kết nối TCP đến máy chủ. Điều này được thực hiện trong các khách hàng
chương trình bằng cách tạo ra một đối tượng socket. Khi khách hàng tạo ra đối tượng socket của nó, nó xác định địa chỉ của quá trình máy chủ,
cụ thể là, các địa chỉ IP của máy chủ và số cổng của quá trình. Sau khi tạo ra các đối tượng socket, TCP trong client
khởi tạo một cái bắt tay ba chiều và thiết lập một kết nối TCP với máy chủ. Ba cách bắt tay là hoàn toàn
minh bạch để các chương trình client và server.
Trong ba cách bắt tay, quá trình khách hàng gõ cửa chào đón của quá trình máy chủ. Khi máy chủ
"nghe" gõ cửa, nó tạo ra một cánh cửa mới (ví dụ, một socket mới) được dành riêng cho rằng khách hàng cụ thể. Trong ví dụ của chúng tôi belthe cửa chào đón là một đối tượng ServerSocket mà chúng ta gọi là welcomeSocket. Khi một khách hàng gõ cửa này, chương trình
gọi welcomeSocket của chấp nhận () phương pháp, mà tạo ra một cánh cửa mới cho các khách hàng. Vào cuối giai đoạn bắt tay, một TCP
kết nối tồn tại giữa các ổ cắm của khách hàng và socket mới của máy chủ. Từ nay trở đi, chúng tôi tham khảo các socket mới như máy chủ "kết nối ổ cắm".
Theo quan điểm của ứng dụng, kết nối TCP là một ống ảo trực tiếp giữa ổ cắm của máy khách và máy chủ của
ổ cắm kết nối. Các quá trình khách hàng có thể gửi byte tùy ý vào ổ cắm của nó; TCP đảm bảo rằng quá trình máy chủ sẽ
nhận được (thông qua các ổ cắm kết nối) mỗi byte theo thứ tự gửi. Hơn nữa, cũng giống như mọi người có thể đi vào và ra cùng
cửa, quá trình khách hàng cũng có thể nhận được byte từ socket của nó và quá trình máy chủ cũng có thể gửi byte vào kết nối của nó
socket. Điều này được minh họa trong Hình 2.6.2.
đang được dịch, vui lòng đợi..