WikiSort.ru - Программирование

о проекте

В области компьютеризации понятие программирования сетевых задач или иначе называемого сетевого программирования (англ. network programming), довольно сильно схожего с понятиями программирование сокетов и клиент-серверное программирование, включает в себя написание компьютерных программ, взаимодействующих с другими программами посредством компьютерной сети.

Программа или процесс, инициирующие установление связи, называются клиентским процессом, а программа, ожидающая инициации связи, называется серверным процессом. Клиентский и серверный процессы вместе образуют распределённую систему. Связь между клиентским и серверным процессами может быть или на основе соединений[en] (как например, TCP-протокол, устанавливающий виртуальное соединение или сеанс[en]), или без соединений[en] (на основе UDP-датаграмм).

Программа, которая может функционировать и как клиент и как сервер, основывается на одноранговой связи.

Сокеты обычно реализуются библиотекой интерфейса программирования приложений (API), как например, сокеты Беркли, впервые представленные в 1983 году. Большинство реализаций основаны на сокетах Беркли, например, Winsock, представленный в 1991 году. Существуют и другие реализации API сокетов, например, Интерфейс транспортного уровня (TLI) на основе STREAMS.

Ниже следуют примеры функций или методов, обычно реализуемые библиотекой API:

  • socket() создает новый сокет определённого типа, идентифицируемый при помощи целого числа, после чего выделяет ему системные ресурсы.
  • bind(), как правило, используется на серверной стороне; ассоциирует сокет с адресной структурой сокетов, то есть определённым номером локального порта и IP-адресом.
  • listen() используется на стороне сервера; переводит TCP-сокет в режим прослушивания.
  • connect() используется на клиентской стороне; привязывает номер незанятого локального порта к сокету. В случае с TCP-сокетом, вызывает попытку установить новое TCP-соединение.
  • accept() используется на стороне сервера. Данная функция принимает полученную попытку создания нового TCP-соединения от удаленного клиента и создает новый сокет, ассоциированный с парой сокетных адресов этого соединения.
  • send() и recv() или write() и read() или recvfrom() и sendto() используются для отправки и получения данных к/от удалённого сокета.
  • close() вызывает освобождение системных ресурсов, выделенных сокету. В случае TCP, соединение завершается.

См. также

Примечания

    Ссылки

    Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

    Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

    Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




    Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

    Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

    2019-2019
    WikiSort.ru - проект по пересортировке и дополнению контента Википедии