Теория решения изобретательских задач
- 1 year ago
- 0
- 0
В области компьютеризации понятие программирования сетевых задач или иначе называемого сетевого программирования ( англ. network programming ), довольно сильно схожего с понятиями программирование сокетов и клиент-серверное программирование , включает в себя написание компьютерных программ , взаимодействующих с другими программами посредством компьютерной сети .
Программа или процесс , инициирующие установление связи, называются клиентским процессом, а программа, ожидающая инициации связи, называется серверным процессом. Клиентский и серверный процессы вместе образуют распределённую систему . Связь между клиентским и серверным процессами может быть или (как например, TCP -протокол, устанавливающий виртуальное соединение или сеанс ), или (на основе 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, соединение завершается.
|
Это
заготовка статьи
о
компьютерных сетях
. Помогите Википедии, дополнив её.
|