Как работают голосовые программы

We use cookies. Read the Privacy and Cookie Policy

Как работают голосовые программы

Принцип действия всех голосовых программ основан на том, что они сначала настраивают связь друг с другом для того, чтобы потом начать обмен данными. Под обменом данными следует понимать пересылку звука, изображения, текстовую переписку и даже обмен файлами. Такое взаимодействие называется клиент-серверным. Как все это работает, мы сейчас и разберемся на простых примерах.

Обычная программа, скорее всего, не является ни клиентом, ни сервером. Например, текстовый редактор Блокнот, который входит в стандартную поставку Windows, предназначен для того, чтобы редактировать и сохранять текст. Графический редактор Paint нужен для рисования элементарных графических образов и сохранения их на диски компьютера. Вот и все! Этим двум программам не нужно общаться друг с другом, они работают сами по себе и полностью удовлетворяют элементарные потребности пользователей.

Однако есть и другие программы, которые не могут работать в одиночку. Например, при передаче голоса от одного пользователя другому нужно, чтобы эти пользователи имели у себя на компьютерах по одному экземпляру голосовой программы, и чтобы эти программы могли соединяться друг с другом для обмена данными. В этом случае одна из них будет играть роль сервера, а другая — клиента. Сервер сначала находится в ожидании запроса на соединение от клиента — говоря техническим языком, он прослушивает порт, на который должен подсоединиться клиент.

Любой программный порт компьютера имеет свой уникальный номер, подобно тому, как каждый компьютер в Интернете имеет свой адрес (IP-адрес). Однако портов в компьютере значительно меньше, чем компьютеров в бескрайних просторах Интернета, поэтому порт представлен гораздо меньшим числом, чем IP-адрес. Например, IP-адрес можно представить так: 192.16.72.13, а порт так: 4345.

В настройках соединения клиенту всегда указывают два основных параметра:

? IP-адрес компьютера, на котором установлен сервер;

? и порт, который этот сервер прослушивает.

Таким образом, программа-клиент может однозначно идентифицировать программу-сервер в Интернете или локальной сети. После того как клиент отправит запрос на соединение, а сервер его примет, связь будет налажена, и по линиям побегут сетевые пакеты в обоих направлениях, словно суда в океане от одного порта к другому. Наверное, поэтому точки соединения двух программ и называются портами.

Обмен данными (разговор или текстовая переписка) происходит до тех пор, пока соединение не будет разорвано (неважно, по какой причине и на чьей стороне: сервера или клиента). Как только это происходит, программы вновь становятся совершенно бесполезными, и теперь сервер должен опять перейти в режим прослушивания запросов от потенциальных клиентов, а клиент попытаться подключиться к одному из серверов, зная его IP-адрес и порт.

В заключение хочу рассказать вам маленькую тонкость. Описанный вид связи, при котором возникает стабильное соединение, относится к обмену данными по протоколу TCP/IP. В случае же работы по протоколу UDP, который используют многие голосовые программы, данные просто отсылаются в сеть.

После отсылки очередной порции соединение закрывается, а потом открывается вновь для реализации следующей отсылки. Так организовывается работа с менее важными данными, при которой мы не несем большой ответственности за их гарантированное принятие на стороне абонента. Зато такой метод работает быстрее, дейтаграммы UDP всегда быстрее, чем стабильная связь TCP/IP.

Данный текст является ознакомительным фрагментом.