2013-05-02 31 views
6

Tôi đang sử dụng phía máy khách Đóng và máy chủ Tornado. Tôi tạo ra một ổ cắm:WebSocket Tornado đóng mỗi phút một lần

this.socket = goog.net.WebSocket(true) 

và sau đó mở nó:

this.socket.open(theSocketUrl) 

Mỗi trình bao gồm các thông tốt được thông qua một cách chính xác. Tuy nhiên, một lần mỗi phút (sau mỗi 60 đến 61 giây), ổ cắm đóng lại và sau đó mở lại. Không có lỗi phía máy chủ và sự kiện lỗi socket Closure không được gọi.

Tôi đã thêm đăng nhập vào lốc xoáy và một cái gì đó dường như đang gọi on_connection_close() sau đó gọi phương thức của socket là on_close(). Phương thức close() không được gọi.

Bất kỳ ý tưởng nào tại sao điều này có thể xảy ra?

Trả lời

3

Bạn đang sử dụng nginx hoặc một số proxy ngược lại khác trước máy chủ lốc xoáy của bạn? Tôi đã thấy điều này xảy ra khi hết thời gian chờ của proxy và sau đó nginx đóng kết nối, gây ra hành vi mà bạn đang thấy.

Bạn có thể thay đổi proxy_send_timeoutproxy_read_timeout trong nginx để ngăn chặn điều này. Chỉ cần đảm bảo rằng khi bạn chỉnh sửa proxy.conf, bạn bao gồm nó từ nginx.conf chính của bạn.

Các vấn đề liên quan