104, Ошибка сокета «Сброс соединения по одноранговой сети», или Когда закрытие сокета приводит к RST, а не к FIN?

Я бы добавил, что если вы нарисуете свой объект на строку, то он будет работать правильно. Вот почему компилятор даст вам предупреждение:

Возможное непреднамеренное сравнение ссылок; чтобы получить сравнение значений, введите левую сторону для ввода «string»

30
задан jwhitlock 27 January 2009 в 00:40
поделиться

4 ответа

У меня была эта проблема. См. Python "Сброс Соединения Одноранговым узлом" проблема .

Вы (скорее всего), столкнулись с маленькими проблемами синхронизации на основе Python Глобальная Блокировка Интерпретатора.

можно (иногда) исправлять это с time.sleep(0.01) помещенный стратегически.

, "Где?" Вы спрашиваете. Бьет меня. Идея состоит в том, чтобы обеспечить некоторый лучший параллелизм потока в и вокруг клиентских запросов. Попытайтесь поместить его всего прежде , Вы выполняете запрос так, чтобы GIL был сброшен, и интерпретатор Python может убрать любые незаконченные потоки.

20
ответ дан Jordan 27 January 2009 в 00:40
поделиться

Обычно, Вы получили бы RST, если Вы делаете завершение, которое не задерживается (т.е. в котором данные могут быть отброшены стеком, если это не было отправлено и ACK'd), и нормальный FIN, если Вы позволяете близко к, задерживаются (т.е. завершение ожидает данных в пути, чтобы быть ACK'd).

, Возможно, все, что необходимо сделать, установлено сокет для задержаний так, чтобы Вы удалили состояние состязания между не непрекращающимся завершением, сделанным на сокете и прибытием ACKs?

2
ответ дан Len Holgate 27 January 2009 в 00:40
поделиться
  • 1
    Я испытал это, и это работает действительно хорошо. – user664939 25 August 2011 в 18:07

Не используйте wsgiref для производства. Используйте Apache и mod_wsgi или что-то еще.

Мы продолжаем видеть этот сброс соединения, иногда часто, с wsgiref (бэкенд, используемый werkzeug тестовым сервером и возможно другими как тестовый сервер Django). Наше решение состояло в том, чтобы зарегистрировать ошибку, повторить вызов в цикле и сдаться после десяти отказов. httplib2 пробует дважды, но нам был нужен еще много. Они, кажется, прибывают в наборы также - добавление, что 1 второй сон мог бы очистить проблему.

Мы никогда не видели сброс соединения при пробежке Apache и mod_wsgi. Я не знаю то, что они делают по-другому, (возможно, они просто маскируют их), но они не появляются.

, Когда мы попросили у локального dev сообщества справки, кто-то подтвердил, что они видят много сброса соединения с wsgiref, которые уходят на рабочем сервере. Там существует ошибка, но будет трудным найти его.

11
ответ дан jwhitlock 27 January 2009 в 10:40
поделиться
  • 1
    Где точно я нахожу эту опцию в Visual Studio 2017+Resharper? – problemofficer 30 June 2017 в 01:15

Я понимаю, что вы используете python, но нашел эту статью о Java полезной.

http://java.sun.com/javase/6/docs/technotes/guides/ net / article / connection_release.html

5
ответ дан 27 November 2019 в 21:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: