Завершение соединения
Завершить соединение с помощью модемных команд можно двумя способами: закрыть соединение или прервать его. Для TCP-соединений это не одно и то же.
Закрытие соединения
Инструкция Close Connection (CC) использует правильную процедуру завершения TCP-соединения (FIN-ACK-FIN-ACK), поэтому соединение закрывается корректно. Рекомендуется использовать именно эту инструкцию.
Прерывание соединения
Инструкция Abort Connection (CA) использует пакет RST для завершения TCP-соединения. Это одностороннее завершение, и его обычно рекомендуют использовать реже.
Завершение UDP-«соединений»
UDP - протокол без установления соединения. «Соединение» для передачи данных, которое использует DS, - это просто поток пакетов, как описано в разделе «Соединения» для передачи данных по UDP. Поэтому такое «соединение» можно и прервать, и закрыть: результат в обоих случаях одинаков.
Совет | Помните! Команды асинхронны: то, что вы сказали DS завершить соединение и он ответил «A», ещё не значит, что соединение действительно завершено. См. Определение статуса соединения (X). |