Подробности работы

Внимание

Этот раздел сейчас дорабатывается, приносим извинения за неудобства. Если вам нужна срочная помощь, обратитесь в службу поддержки Tibbo.

Библиотека SOCK ведёт список свободных и занятых сокетов. Он хранится в массиве sock_in_use, его содержимое можно увидеть в отладчике. Чтобы получить свободный сокет (номер), вызовите sock_get(): функция вернёт номер сокета, который с этого момента помечен как занятый. Если свободных сокетов не осталось, функция вернёт 255, так что следите за этим числом!

При вызове sock_get() можно передать осмысленное короткое имя вызывающего кода. Например, если сокет будет использоваться для связи с устройством в стиле TELNET, задайте подпись «TLNT». Массив sock_user_signature хранит подписи, оставленные вызывающими sock_get(). Просматривая его содержимое в отладчике, можно ясно увидеть, кто какой сокет использует. Подпись свободных сокетов - «-». Учтите, что SOCK_MAX_SIGNATURE_LEN задаёт максимальную длину подписи, а значение по умолчанию равно 0. Задайте любое значение больше 0, чтобы можно было наблюдать подписи. После отладки можно вернуть 0.

Ещё один способ понаблюдать за работой библиотеки в режиме отладки - добавить #define SOCK_DEBUG_PRINT 1 в раздел определений файла global.tbh вашего проекта. Пока библиотека SOCK работает, в панель консоли выводится множество сведений о состоянии.

Чтобы освободить сокет, вызовите sock_release(). Сокет будет помечен как свободный, и следующий вызывающий sock_get() сможет снова использовать этот номер. Кроме того, сокет будет «подготовлен к повторному использованию»: текущее соединение сокета сбрасывается (с помощью sock.discard), а каждое свойство возвращается к исходному значению, которое оно имеет после сброса.

Sock_who_uses() возвращает подпись, оставленную пользователем указанного сокета. Использовать эту функцию необязательно, она существует только для удобства.

Исходный материал Tibbo обновлён 11 августа 2025Оригинал на docs.tibbo.com · Сообщить об ошибке