Как работают голосовые программы
Как работают голосовые программы
Принцип действия всех голосовых программ основан на том, что они сначала настраивают связь друг с другом для того, чтобы потом начать обмен данными. Под обменом данными следует понимать пересылку звука, изображения, текстовую переписку и даже обмен файлами. Такое взаимодействие называется клиент-серверным. Как все это работает, мы сейчас и разберемся на простых примерах.
Обычная программа, скорее всего, не является ни клиентом, ни сервером. Например, текстовый редактор Блокнот, который входит в стандартную поставку Windows, предназначен для того, чтобы редактировать и сохранять текст. Графический редактор Paint нужен для рисования элементарных графических образов и сохранения их на диски компьютера. Вот и все! Этим двум программам не нужно общаться друг с другом, они работают сами по себе и полностью удовлетворяют элементарные потребности пользователей.
Однако есть и другие программы, которые не могут работать в одиночку. Например, при передаче голоса от одного пользователя другому нужно, чтобы эти пользователи имели у себя на компьютерах по одному экземпляру голосовой программы, и чтобы эти программы могли соединяться друг с другом для обмена данными. В этом случае одна из них будет играть роль сервера, а другая — клиента. Сервер сначала находится в ожидании запроса на соединение от клиента — говоря техническим языком, он прослушивает порт, на который должен подсоединиться клиент.
Любой программный порт компьютера имеет свой уникальный номер, подобно тому, как каждый компьютер в Интернете имеет свой адрес (IP-адрес). Однако портов в компьютере значительно меньше, чем компьютеров в бескрайних просторах Интернета, поэтому порт представлен гораздо меньшим числом, чем IP-адрес. Например, IP-адрес можно представить так: 192.16.72.13, а порт так: 4345.
В настройках соединения клиенту всегда указывают два основных параметра:
? IP-адрес компьютера, на котором установлен сервер;
? и порт, который этот сервер прослушивает.
Таким образом, программа-клиент может однозначно идентифицировать программу-сервер в Интернете или локальной сети. После того как клиент отправит запрос на соединение, а сервер его примет, связь будет налажена, и по линиям побегут сетевые пакеты в обоих направлениях, словно суда в океане от одного порта к другому. Наверное, поэтому точки соединения двух программ и называются портами.
Обмен данными (разговор или текстовая переписка) происходит до тех пор, пока соединение не будет разорвано (неважно, по какой причине и на чьей стороне: сервера или клиента). Как только это происходит, программы вновь становятся совершенно бесполезными, и теперь сервер должен опять перейти в режим прослушивания запросов от потенциальных клиентов, а клиент попытаться подключиться к одному из серверов, зная его IP-адрес и порт.
В заключение хочу рассказать вам маленькую тонкость. Описанный вид связи, при котором возникает стабильное соединение, относится к обмену данными по протоколу TCP/IP. В случае же работы по протоколу UDP, который используют многие голосовые программы, данные просто отсылаются в сеть.
После отсылки очередной порции соединение закрывается, а потом открывается вновь для реализации следующей отсылки. Так организовывается работа с менее важными данными, при которой мы не несем большой ответственности за их гарантированное принятие на стороне абонента. Зато такой метод работает быстрее, дейтаграммы UDP всегда быстрее, чем стабильная связь TCP/IP.
Данный текст является ознакомительным фрагментом.