Thông tin liên lạc bằng cách sử dụng TCPBây giờ, chúng tôi thảo luận về thông tin liên lạc kết nối theo định hướng, đồng thời sử dụng dịch vụ của TCP (trường hợp của SCTP sẽ là tương tự). Con số 17,11 cho thấy sơ đồ dòng chảy chung của loại giao tiếp.Máy chủ quá trìnhQuá trình máy chủ bắt đầu tiên. Nó gọi chức năng ổ cắm để tạo ra một ổ cắm, mà chúng tôi gọi là socket lắng nghe. Ổ cắm này chỉ được sử dụng trong thiết lập kết nối. Quá trình máy chủ sau đó gọi các chức năng ràng buộc để ràng buộc các kết nối này tới địa chỉ ổ cắm của máy tính. Chương trình máy chủ sau đó gọi các chức năng chấp nhận. Chức năng này là một chức năng chặn; khi nó được gọi là, nó bị chặn cho đến khi các giao thức TCP nhận được một yêu cầu kết nối (SYN phân đoạn) từ một khách hàng. Chức năng chấp nhận sau đó là không bị chặn và tạo ra một ổ cắm mới gọi là ổ cắm kết nối bao gồm địa chỉ ổ cắm của khách hàng gửi đoạn SYN. Sau khi các chức năng chấp nhận là không bị chặn, các máy chủ biết rằng một khách hàng cần dịch vụ của nó. Để cung cấp concurrency, quá trình máy chủ (cha mẹ quá trình) gọi chức năng ngã ba. Chức năng này tạo ra một quy trình mới (quá trình con), mà là chính xác giống như quá trình phụ huynh. Sau khi gọi chức năng ngã ba, hai quá trình đang chạy đồng thời, nhưng mỗi người có thể làm những thứ khác nhau. Mỗi quá trình hiện nay có hai ổ cắm: nghe và kết nối ổ cắm. Quá trình phụ huynh entrusts nhiệm vụ phục vụ khách hàng để bàn tay của quá trình con và gọi các chức năng chấp nhận một lần nữa để chờ đợi cho một khách hàng yêu cầu kết nối. Quá trình con đã sẵn sàng để phục vụ khách hàng. Nó lần đầu tiên đóng socket lắng nghe và gọi các chức năng nhận nhận được dữ liệu từ các khách hàng. Chức năng nhận, như chức năng recvfrom, là một chức năng chặn; nó bị chặn cho đến khi một phân đoạn đến. Quá trình trẻ em sử dụng một vòng lặp và gọi các chức năng nhận nhiều lần cho đến khi nó nhận được tất cả các phân đoạn được gửi bởi khách hàng. Quá trình trẻ em sau đó cung cấp cho các dữ liệu toàn bộ đến một chức năng (chúng tôi gọi nó là handleRequest), để xử lý yêu cầu và trả về kết quả. Kết quả được gửi sau đó trong một cuộc gọi duy nhất để các chức năng gửi cho khách hàng. Chúng ta phải nhấn mạnh một số điểm ở đây. Đầu tiên, biểu đồ dòng chảy, chúng tôi đang sử dụng
đang được dịch, vui lòng đợi..
