|
|
Модератор форума: No_MaTTeR, Dimitro, LightInDarkness |
Форум Полезное Флудилка ROR TCPSocket |
ROR TCPSocket |
Подскажите пожалуйста, как можно реализовать кэширование или моментальный сброс коннекта при перезагрузке страницы на рельсах.
Для чего? - При каждом обновлении страницы, сервер начинает создавать подключение. Страница не отвечает (не загружается) до тех пор, пока не получит результат всех соединений (к-во раз нажатия F5 ). Нагрузка сервера + долгая прогрузка страницы Код: Код addr = Socket.getaddrinfo(host, nil) sockaddr = Socket.pack_sockaddr_in(port, addr[0][4]) Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket| socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) begin socket.connect_nonblock(sockaddr) rescue IO::WaitWritable if IO.select(nil, [socket], nil, timeout) begin socket.connect_nonblock(sockaddr) rescue Errno::EISCONN rescue socket.close raise end else socket.close raise "Connection timeout" end end end
Сообщение # 1 написано 06.04.2015 в 20:54
|
| |||
| |||