Bibliothèque de communication de socket multiplateforme Delphi
Auteur: WindDriver ([email protected])
Anglais
Faire un don
Si vous trouvez ce projet utile, veuillez envisager de faire un don et de soutenir l'auteur pour continuer à mettre à jour


Mettre à jour les enregistrements
2023.09.18
- Prend en charge le FPC 3.3.1
- Support OpenSSL 3.x
- Ajout du client HTTP icrosshttpclient (prend en charge GZIP / Daflate Compresser Envoi)
- Ajout du client WebSocket icrosswebsocket
- Le serveur HTTP prend en charge la collecte de données compressées GZIP / Deflate
- Reconstruction de code partiel
- Quelques problèmes mineurs résolus
2020.07.07
- ICrosshTTPServer et iCrosswebsocketServer prennent en charge HTTP et HTTPS
Merci à xlnron pour votre aide
2019.02.17
- Des fuites de mémoire fixe qui peuvent provoquer par tioeventthread
Merci à Viniciusfbb pour avoir découvert et résolu ce problème
- Des fuites de mémoire fixe causées par [faible]
Lorsqu'il est utilisé avec une bibliothèque de gestion de mémoire tierce, une fuite de mémoire se produit. Robertodellapasqua a découvert ce problème, et enfin Pony5551 a trouvé la cause du problème. Merci beaucoup! Cela devrait être une faille dans la mise en œuvre interne [faible] de Delphi, et le problème a été résolu après avoir remplacé [faible] par [dangereux].
2019.01.15
- Ajout du support MbedTLS
- Activer la méthode de mbedtls: activez les deux commutateurs de compilation __cross_ssl__ et __mbed_tls__ dans les options de compilation du projet et ajoutez le répertoire sous mbedobj au chemin de la bibliothèque de la plate-forme correspondante
- À l'heure actuelle, le support MbedTLS n'est pas assez stable, veuillez ne pas l'utiliser dans des environnements de production
2017.08.22
- Refactoring de code, de nombreuses modifications ont été apportées, voir le code source pour plus de détails
- Plusieurs nouvelles interfaces ont été ajoutées, voir les démos pour plus de détails
- ICrossocket
- Icrossslsock
- Icrossserver
- Icrosssslserver
caractéristiques
Utilisez différents modèles IO pour différentes plates-formes:
Fenêtre
FreeBSD (macOSX, iOS ...)
Linux (Linux, Android ...)
Soutient une concurrence extrêmement élevée
Peut exécuter plus de 100 000 nombres simultanés, vous devez modifier le registre pour ajuster le nombre maximum de ports par défaut
Après des tests préliminaires, l'environnement de test est OSX 10.9.5 dans la machine virtuelle. Même si la limite de poignée du système est modifiée, elle ne peut ouvrir que plus de 32 000 connexions simultanées au maximum. Peut-être que la version OSX Server peut prendre en charge une concurrence plus élevée.
Prend en charge IPv4 et IPv6 en même temps
Copie de mémoire zéro
Réussi le test
- Fenêtre
- OSX
- ios
- Androïde
- Linux
Environnement de développement recommandé
- Pour jouer la fonctionnalité complète de la plate-forme multiplateuse, veuillez utiliser Delphi 10.2 Tokyo et au-dessus
- L'exigence minimale consiste à prendre en charge la version Delphi des fonctions génériques et anonymes. Je ne suis pas très clair sur la version à prendre en charge des fonctions génériques et anonymes.
- Il est préférable d'utiliser FPC version 3.3.1 et plus
Quelques captures d'écran de test
Benchmark HTTPS 
HTTP Server (Linux-Aarch64) 
HTTP Server (Linux-Loongarch64) 
Client HTTP (Linux-Aarch64) 
Client HTTP (Linux-Loongarch64) 
WebSocket Server (Linux-Aarch64) 
WebSocket Server (Linux-Loongarch64) 
Client WebSocket (Linux-Aarch64) 
Client WebSocket (Linux-Loongarch64) 
HTTP (Server est Ubuntu 16.04 Desktop)
HTTPS (Server est Ubuntu 16.04 Desktop)