Аргерих Л. О языке РНР. Часть 3. Страница 75


socket_connect()

int socket_connect(int socket, string address [, int port])

Программа-клиент, создав должна соединиться с сервером. Эту воз­

можность предоставляет функция Ее первый

дескриптор сокета, возвращенный вызовом socket_create(). Второй аргу­мент - адрес IP сервера, если в вызове socket_create() было задано семейство протоколов AF_INET. Он должен представлять путь UNIX, если в вызове soc- ket_create() семейство протоколов было указано как AF UNIX.

Аргумент port действует только в случае AF_INET и задает порт, на котором ждет соединения удаленный сервер. Если функция socket_connect() возвра­щает отрицательное значение, это указывает на ошибку, текстовое описание которой можно получить, передав это число в качестве аргумента функции socket_strerror().

socketJistenQ

int socket, int backlog)

После того как приложение сервера создаст сокет и выполнит чтобы связать его с локальным IP-адресом и хорошо известным портом, оно должно ждать запросов, поступающих от клиентов. Это обеспечивается функцией socket_listen(). В качестве первого аргумента она принимает soc­ket, на котором должны ожидаться входящие соединения, а в качестве вто­рого - backlog, определяющий максимальное количество соединений, кото­рые могут быть помещены в очередь для этого сокета.

Если возвращается отрицательное значение, это указывает на ошибку, текс­товое описание которой можно получить, передав это число в качестве аргу­мента функции socket_st rerror().

socket_accept()

int socket_accept (int socket)

Строя программу для сервера, мы должны создать сокет с помощью функции

socket_create(), привязать его к адресу и номеру порта с помощью функции и установить режим ожидания входящих соединений, вызвав socket_listen(). После этого надо вызвать функцию socket_accept(), передав ей в качестве аргумента дескриптор сокета, который возвратила функция soc- Эта функция блокируется до получения сокетом нового запроса.

При поступлении нового запроса она создает и возвращает его программе но­вый дескриптор сокета, через который можно выполнять чтение/запись. Ес­ли сокет не блокирующий (см. ниже функцию socket_set_blocking()) и если в сокете нет данных, когда вызывается socket_accept(), эта функция возвра­щает целочисленный код ошибки.

fsockopen() and pfsockopen()

int fsockopen (string [udp://]hostname, int port [, int errno [, string errstr [, double timeout]]])

Это универсальная вспомогательная функция, посредством которой клиен­ты могут соединяться с сервером. Она объединяет функциональность для создания сокета, разрешения IP-адреса сервера и соединения с сервером по указанному порту. Соединение может быть установлено с сокетами TCP, UDP и доменов UNIX:




Собираетесь сделать заказ билета на авиаперелет через сайт davs-ryazan.ru? Тогда читайте о Давс отзывы и не сомневайтесь, что только тут вы сможете быстро заказать нужные билеты.