
Илья
28.09.2017
12:52:49

Алексей
28.09.2017
12:52:53

Denis
28.09.2017
12:53:00
Ну хлопнул клиент сокет, чтож теперь

Alexey
28.09.2017
12:53:09
сервер знает про дроп соединения только если это persistent connection

Google

Denis
28.09.2017
12:53:15
Конечная сторона 100% узнает что связь порвалась

Алексей
28.09.2017
12:53:22
вот есть tcp, как он поймет?

Alexey
28.09.2017
12:53:32
да никак, Лёша прав

Алексей
28.09.2017
12:53:37
кто этим займется? маршрутизатор?

Alexey
28.09.2017
12:53:40
сервер не знает
что клиент убил соединение

Denis
28.09.2017
12:53:54
вот есть tcp, как он поймет?
Выдержка из вики
Завершение соединения
Завершение соединения можно рассмотреть в три этапа:
Посылка серверу от клиента флага FIN на завершение соединения.
Сервер посылает клиенту флаги ответа ACK , FIN, что соединение закрыто.
После получения этих флагов клиент закрывает соединение и в подтверждение отправляет серверу ACK , что соединение закрыто.
Это не удп, которому пофигу на статус доставки

Алексей
28.09.2017
12:54:32

Alexey
28.09.2017
12:54:33
> Посылка серверу от клиента флага FIN
если этого не происходит, сервер не знает про завершение соединения

Denis
28.09.2017
12:54:44

Илья
28.09.2017
12:54:49
Так-то еще таймауты есть

Google

Denis
28.09.2017
12:54:50
Боже, вы издеваетесь?
Возьмите да сниффером посмотрите
wireshark в помощь

Alexey
28.09.2017
12:55:29
таймауты есть на стороне клиента на ответ от сервера, а не на стороне сервера на запрос от клиента

Denis
28.09.2017
12:55:50

Илья
28.09.2017
12:55:54
В tcp вообще-то на все есть таймаут
А HTTP поверх него работает

Алексей
28.09.2017
12:56:53
да причем тут таймауты то вообще. речь о другом. о том что ушел запрос, потом оборвали соединение и якобы сервак должен понять об этом и прекратить работу над запросом

Denis
28.09.2017
12:57:01
Это реально же

Алексей
28.09.2017
12:57:20
покажи мне хоть один сервак который так работает

Denis
28.09.2017
12:57:24
Помогу еще разок
https://ru.wikipedia.org/wiki/Transmission_Control_Protocol#.D0.A1.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D1.8F_.D1.81.D0.B5.D0.B0.D0.BD.D1.81.D0.B0_TCP
Это все уже есть в тср

Алексей
28.09.2017
12:57:40

Denis
28.09.2017
12:57:48

Илья
28.09.2017
12:57:50

Denis
28.09.2017
12:58:01

Peter
28.09.2017
12:58:07

Google

Denis
28.09.2017
12:58:10

Alexey
28.09.2017
12:58:25

Denis
28.09.2017
12:58:29
То, что конкретно ВАШ сервер это не осиляет - не означает что другие так не могут

Илья
28.09.2017
12:58:36

Алексей
28.09.2017
12:58:47
камон, че херню несете. вот пришел http запрос, ты получил реквест и пошел в базу. как ты отменишь запрос? как ты вообще это поймешь?
и я не про статику сейчас говорю

Илья
28.09.2017
12:59:15

Peter
28.09.2017
12:59:52

Denis
28.09.2017
13:00:35

Алексей
28.09.2017
13:00:37
а может и не кильнуть

Denis
28.09.2017
13:00:52
А может метеорит на сервер упасть, давайте без крайностей

Кирилл
28.09.2017
13:00:59
зависит от конкретного кейса, а вообще в той же ноде есть событие abort, которое как раз возникает когда клиент вызывает .abort у xhr

Алексей
28.09.2017
13:01:04

Илья
28.09.2017
13:01:08

Алексей
28.09.2017
13:01:16

Илья
28.09.2017
13:01:34
чем это хуже?
Ну да, трафик и скорость соединения же не ограничены

Denis
28.09.2017
13:01:38

Илья
28.09.2017
13:01:38
И батарея

Denis
28.09.2017
13:01:56
И батарея
А потом удивляемся, "А что это мобила за полдня садится"

Alexey
28.09.2017
13:02:01
так так так

Google

Alexey
28.09.2017
13:02:02
ребят
стопэ

Алексей
28.09.2017
13:02:12
ну то есть три этапа на закрытие это не бесполезно?

Alexey
28.09.2017
13:02:19
вот линк на w3.org, на часть про аборт
https://www.w3.org/TR/2010/CR-XMLHttpRequest-20100803/#the-abort-method

Denis
28.09.2017
13:02:23

Alexey
28.09.2017
13:02:26
мы начали с этого, этим и закончим
по линке не написано ничего про закрытие соединения

Илья
28.09.2017
13:02:56
Какие три?
Вызвать метод abort так сложно, что это как три этапа

Алексей
28.09.2017
13:02:57

Alexey
28.09.2017
13:02:58
просто удаляются таски из очереди

Denis
28.09.2017
13:03:03

Peter
28.09.2017
13:03:07

Denis
28.09.2017
13:03:07
ЭТО ТСР!
КАРЛ!

Алексей
28.09.2017
13:03:12
и чо

Denis
28.09.2017
13:03:18
...

Илья
28.09.2017
13:03:21
Разницу понимаем?

Алексей
28.09.2017
13:03:32

Google

Denis
28.09.2017
13:03:44

Илья
28.09.2017
13:03:47

Peter
28.09.2017
13:03:53
и чо
то, что при abort() нету никаких накладных расходов по сравнению с игнорированием данных

Илья
28.09.2017
13:04:04
Советую понять, как работает TCP, прежде чем спорить

Кирилл
28.09.2017
13:04:30

Denis
28.09.2017
13:04:49
Разные уровни протоколов)

Илья
28.09.2017
13:04:58

Alexey
28.09.2017
13:05:04
из очереди

Илья
28.09.2017
13:05:10
Но проще просто формошлепить

Alexey
28.09.2017
13:05:16
но ничего про дроп самого соединения
так что даже если вы хренанете abort, он отрабатывает только на стороне клиента

Кирилл
28.09.2017
13:05:50

Denis
28.09.2017
13:06:17
Вся демагогия бредовая
Вон wireshark в руки и вперед

Alexey
28.09.2017
13:06:31
мне кажется "The user agent should cancel any network activity for which the object is responsible." не подразумевает закрытие соединения
хотя, Денис прав
надо просто открыть wireshark
и поставить точку одним скрином ?

Denis
28.09.2017
13:07:20
Прям вангую, что аборт закроет сокет на клиенте

Alexey
28.09.2017
13:07:26
¯\_(ツ)_/¯