Таблица А.2. Escape-последовательности chat
Escape-последовательность | Значение |
\b | Забой |
\ | Передать без завершающего символа возврата каретки |
\d | Задержка передачи значения на одну секунду |
\к | Передать символ BREAK |
\n | Передать символ новой строки |
\N | Передать нулевой символ |
\P | Задержка передачи значения на одну десятую долю секунды |
\xd5 | Передать строку, но не фиксировать передачу в журнале |
\r | Возврат каретки |
\s | Символ пробела |
\T | Передать значение, полученное из командной строки chat в виде аргумента ключа -Т |
\t | Символ табуляции |
\u | Передать значение, полученное из командной строки chat в виде аргумента ключа -U |
\\ | Символ \ |
\ddd | ASCII-символ с восьмеричным значением ddd |
^С | Управляющий символ |
Все escape-последовательности, кроме той, что используется для ввода управляющих символов, начинаются с обратной косой черты (\). Управляющий символ состоит из символа и заглавной буквы. Например, управляющий символ X записывается в виде "X. Евсаре-последовательности, описанные в табл. А.2 с упоминанием передачи, могут использоваться только в строках для передачи; все прочие последовательности могут использоваться и для приема, и для передачи. Следующий пример иллюстрирует применение некоторых еэсаре-последовательностей:
"" \d\d^6\p^G\p\p^GnpocHnakicfl\scKopee!\nЛежебока\sты!
Не ожидая получения значения (""), сценарий делает паузу в две секунды (\d\d). Передает три символа ASCII BELL, которые в клавиатурной записи обозначаются как <Ctrl>+<G>, с интервалом в одну десятую долю секунды (~G\p~G\p\p~G). Передает строку Просыпайся скорее!. Переходит на новую строку (\п) и передает строку Лежебока ты!.
Из соображений безопасности сервер может перезванивать (callback) клиенту для создания соединения. Таким образом сервер проверяет, что звонок клиента поступил с допустимого телефонного номера. Механизм работает следующим образом:
- Клиент звонит на сервер и передает строку-идентификатор.
- Получив идентификатор, сервер разрывает соединение.
- Сервер использует идентификатор, чтобы определить телефонный номер клиента, и звонит по этому номеру.
- Клиент продолжает процесс регистрации на сервере.