-
Raw socket en java
Bonjour à tous
j'ai lu dernièrements les spécifications des protocoles TCP/IP et j'ai vu des préalables de connexion tcp (par exemple envoi d'un message SN, réception de SN-AK etc...)
or en java lorsqu'on crée une socket, on a pas accès à ces messages car le constructeur de la socket client se charge de tout cela de façon transparente. or en c, on m'a parlé d'une socket de type RA qui permet de préciser le type de message envoyé. e type de socket est-il présent sous java sinon comment peut-on faire du scan de port en java
-
En java tu peux écrire sur le protocol TCP ou UDP
Et ce de à l'aide de deux api standard (java.io ou java.nio)
En UDP tu n'auras pas de mécanisme de ACK ou autre. ce protocol est souvent utilisé pour un transport de données pouvant subir des pertes mais devant soutenir un débit important.
L'exemple typique est le streaming de vidéos où si tu perds une frame, ce n'est pas catastrophique à partir du moment ou ton client sait synchroniser sa vidéo/audio en fonction de ce qu'il recoit.
Le mode TCP est un mode plus connecté. il s'occupe pour toi de s'assurer de l'integrité et l'ordonnancement du dialogue entre deux hosts.
-
L'utilisation de TCP se fait via les classes Socket (côté client) et ServerSocket (côté serveur) tandis que l'utilisation du protocole UDP se fait via les classes DatagramSocket et DatagramPacket :
Plus d'info ici : Cours Réseaux (Socket...) en java