Điểm:0

định cấu hình thời gian chờ không hoạt động trong khi xử lý các đầu dò cố định

lá cờ pe

Tôi đang phát triển máy chủ tiếng vang TCP bằng thư viện python và socket.

Tôi muốn định cấu hình thời gian chờ cho mỗi kết nối đến. Vì vậy, để thả và đóng chúng nếu không hoạt động trong một SOCK_TIMEOUT giá trị.

Điều này đạt được với cài đặt cụ thể: client_sock.settimeout(SOCK_TIMEOUT)

Đồng thời, tôi muốn duy trì hoạt động của kết nối sử dụng phương thức keepalive.Vì vậy, nếu máy chủ nhận được gói thăm dò cố định từ một ứng dụng khách cụ thể, tôi muốn tránh sử dụng thời gian chờ để đóng ứng dụng khách/kết nối cụ thể này.

Làm rõ vấn đề >> Tôi muốn máy chủ ngắt mọi kết nối sau 3 phút không hoạt động. Điều này đạt được với thời gian chờ (SOCK_TIMEOUT) chức năng. Vấn đề chính là cấu hình hiện tại và việc triển khai ổ cắm TCP không coi đầu dò duy trì hoạt động là "hoạt động", do đó, kết nối bị đóng ngay cả khi đầu dò được xác nhận.

Q1 >> Điều này có hợp lý không?

Tôi muốn nói điều này nên khả thi. Tuy nhiên, máy chủ ổ cắm không thể xử lý, như tôi mong muốn, đầu dò cố định. Bởi vì, ngay cả khi những điều đó được máy chủ xác nhận, thì ACK vẫn được trả về cho từng đầu dò, kết nối sẽ bị đóng khi hết thời gian chờ.

Q2 >> Tôi có nên thay đổi thời gian chờ triển khai không?

A.B avatar
lá cờ cl
A.B
Afaik, tcp keepalive trong suốt đối với ứng dụng. Tức là: ứng dụng không thể biết điều này xảy ra (ngay cả khi ứng dụng có thể định cấu hình cài đặt để nó xảy ra). Nếu nó không thể biết về nó, đây là tranh luận. Tại sao bạn cần phải quan tâm đến điều này? Đây có vẻ là [sự cố XY](https://xyproblem.info/): bạn cần giải quyết một vấn đề, nhưng bạn chưa bao giờ nói với chúng tôi về vấn đề đó.
rebatoma avatar
lá cờ pe
hãy để tôi làm rõ vấn đề. Tôi muốn máy chủ ngắt mọi kết nối sau 3 phút không hoạt động. Điều này đạt được với chức năng `settimeout(SOCK_TIMEOUT)`. Vấn đề chính là cấu hình hiện tại và việc triển khai ổ cắm TCP không coi đầu dò duy trì hoạt động là "hoạt động", do đó, kết nối bị đóng ngay cả khi đầu dò được xác nhận.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.