Библиотека связи с кроссплатформенными сокетами Delphi
Автор: Winddriver ([email protected])
Английский
Пожертвовать
Если вы найдете этот проект полезным для вас, рассмотрите возможность пожертвования и поддержки автора, чтобы продолжать обновлять


Обновление записей
2023.09.18
- Поддерживает FPC 3.3.1
- Поддержка OpenSSL 3.x
- Добавлены http client icrossttpclient (поддерживает сжатую отправку Gzip/Deffress)
- Добавлен WebSocket Client iCrossWebSocket
- HTTP -сервер поддерживает сбор данных GZIP/дефроза.
- Частичная реконструкция кода
- Некоторые незначительные проблемы исправлены
2020.07.07
- Icrossttpserver и IcrosswebsocketServer поддерживают как HTTP, так и HTTPS
Спасибо Xlnron за вашу помощь
2019.02.17
- Фиксированные утечки памяти, которые могут вызвать с помощью tioeventthread
Спасибо Viniciusfbb за обнаружение и исправление этой проблемы
- Фиксированные утечки памяти, вызванные [слабыми]
При использовании с сторонней библиотекой управления памятью возникает утечка памяти. Robertodellapasqua обнаружил эту проблему, и, наконец, Pony5551 обнаружил причину проблемы. Большое спасибо! Это должно быть недостатком во внутренней] внутренней реализации Дельфи, и проблема была решена после замены [слабых] на [небезопасно].
2019.01.15
- Добавлена поддержка Mbedtls
- Включить метод mbedtls: включите два компиляционных переключателя __cross_ssl__ и __mbed_tls__ в параметрах компиляции проекта и добавьте каталог под Mbedobj в путь библиотеки соответствующей платформы
- В настоящее время поддержка Mbedtls недостаточно стабильна, пожалуйста, не используйте ее в производственных средах
2017.08.22
- Рефакторинг кода, было сделано много модификаций, для получения подробной информации см. Исходный код
- Было добавлено несколько новых интерфейсов, см. Демо.
- Icrosssocket
- Icrosssslsocket
- Icrossserver
- Icrosssslserver
характеристика
Используйте разные модели ввода -вывода для разных платформ:
Окна
Freebsd (macosx, ios ...)
Linux (Linux, Android ...)
Поддерживает чрезвычайно высокую параллелизм
Может запустить более 100 000 одновременных номеров, вам необходимо изменить реестр, чтобы настроить максимальное количество портов по умолчанию
После предварительных тестов тестовая среда составляет OSX 10.9.5 в виртуальной машине. Даже если предел обработки системы изменен, он может открыть более 32 000 одновременных соединений в максимум. Возможно, версия сервера OSX может поддерживать более высокую параллелизм.
Поддерживает IPv4 и IPv6 одновременно
Нулевая копия памяти
Прошел тест
- Окна
- Оси
- ios
- Android
- Linux
Рекомендуемая среда разработки
- Чтобы сыграть полную кроссплатформенную функциональность, используйте Delphi 10.2 Tokyo и выше
- Минимальное требование состоит в том, чтобы поддержать версию общих и анонимных функций Delphi. Я не очень четко понял, какую версию поддерживать общие и анонимные функции.
- Лучше всего использовать FPC версию 3.3.1 и выше
Некоторые тестовые скриншоты
HTTPS 
HTTP Server (Linux-Aarch64) 
HTTP Server (Linux-Loongarch64) 
HTTP Client (Linux-Aarch64) 
HTTP Client (Linux-Loongarch64) 
Сервер WebSocket (Linux-Aarch64) 
Сервер WebSocket (Linux-Loongarch64) 
Клиент WebSocket (Linux-Aarch64) 
Клиент WebSocket (Linux-Loongarch64) 
Http (сервер Ubuntu 16.04 Desktop)
Https (сервер Ubuntu 16.04 Desktop)