socket_create Создаёт сокет (конечную точку для обмена информацией) &reftitle.description; Socketfalsesocket_create intdomain inttype intprotocol Создаёт и возвращает экземпляр Socket, также называемый как конечная точка обмена информацией. Типичное сетевое соединение состоит из двух сокетов, один из которых выполняет роль клиента, а другой выполняет роль сервера. &reftitle.parameters; domain Параметр domain определяет семейство протоколов, используемых сокетами. Доступные семейства адресов/протоколов Семейство Описание AF_INET Internet-протоколы IPv4. TCP и UDP - это стандартные протоколы этого семейства протоколов. AF_INET6 Internet-протоколы IPv6. TCP и UDP - это стандартные протоколы этого семейства протоколов. AF_UNIX Семейство протоколов для локального обмена данными. Высокая эффективность и низкие накладные расходы делают его отличным видом IPC (межпроцессного взаимодействия).
type Параметр type определяет тип обмена данными, который будет использоваться сокетом. Доступные типы сокетов Тип Описание SOCK_STREAM Обеспечивает последовательные, надёжные, полнодуплексные, байтовые потоки с установлением соединения. Может поддерживаться механизм передачи внеполосных (out-of-band) данных. Протокол TCP основан на этом типе сокетов. SOCK_DGRAM Поддерживает датаграммы (ненадёжные сообщения без установления соединения фиксированной максимальной длины). Протокол UDP основан на этом типе сокетов. SOCK_SEQPACKET Предоставляет последовательную, надёжную, двунаправленную, базирующуюся на соединениях передачу датаграмм с фиксированной максимальной длиной. Потребитель должен читать весь пакет целиком при каждой итерации чтения. SOCK_RAW Предоставляет доступ по неподготовленному (raw) сетевому протоколу. Это специальный тип сокета может быть использован для ручного создания любого типа протокола. Стандартное использование этого типа сокетов - выполнение запросов ICMP (таких как ping). SOCK_RDM Предоставляет надёжный уровень датаграм, не гарантирующий сохранение порядка. Скорее всего, это семейство протоколов не реализовано в вашей операционной системе.
protocol Параметр protocol указывает конкретный протокол в заданном семействе протоколов domain, который будет использоваться в обмене данными с созданным сокетом. Соответствующее значение может быть получено по имени при помощи функции getprotobyname. Если желаемый протокол TCP или UDP, то соответствующие константы SOL_TCP и SOL_UDP также могут быть использованы. Стандартные протоколы Название Описание icmp ICMP (Internet Control Message Protocol, протокол межсетевых управляющих сообщений) используется преимущественно шлюзами и хостами для сообщения об ошибках в передаче датаграмм. Команда "ping" (присутствующая в большинстве современных операционных систем) - это пример использования ICMP-протокола. udp UDP (User Datagram Protocol, протокол пользовательских датаграмм) - это протокол без установления соединения, ненадёжный, протокол с фиксированной длиной записей. Из-за этих аспектов, UDP требует минимального количества служебной информации. tcp TCP (The Transmission Control Protocol, протокол управления передачей) - это надёжный, базирующийся на соединениях, потокоориентированный, полнодуплексный протокол. TCP гарантирует, что все пакеты данных будут получены в том порядке, в котором они были отправлены. Если какой-нибудь пакет каким-либо образом был утерян во время передачи данных, TCP будет автоматически передавать пакет повторно до тех пор, пока хост назначения не подтвердит этот пакет. В целях надёжности и производительности, реализация протокола TCP сама выбирает подходящие границы октета нижележащего уровня обмена датаграммами. Таким образом, приложения, использующие TCP, должны предоставлять возможность частичной передачи записей.
&reftitle.returnvalues; Функция socket_create возвращает экземпляр Socket в случае успешного выполнения, или &false; в случае возникновения ошибки. Код ошибки может быть получен при помощи вызова функции socket_last_error. Эта ошибка может быть передана функции socket_strerror для получения текстового описания ошибки. &reftitle.errors; Если указан неверный параметр domain или type, функция socket_create будет использовать по умолчанию значение AF_INET и SOCK_STREAM соответственно, и дополнительно к этому выдаст сообщение E_WARNING. &reftitle.changelog; &Version; &Description; 8.0.0 В случае успешного выполнения функция возвращает экземпляр Socket; ранее возвращался ресурс (resource). &reftitle.seealso; socket_accept socket_bind socket_connect socket_listen socket_last_error socket_strerror