03 Java Socket PDF
03 Java Socket PDF
03 Java Socket PDF
M. Belguidoum
Universit Mentouri de Constantine
Dpartement Informatique
6 Conclusion
Une socket communique avec une autre socket via son adresse
Flux : une socket se connecte une autre socket via son adresse de
socket
Datagram : une socket envoie/reoit des donnes /d'une autre
socket identie par son adresse de socket
Principe de fonctionnement
Constructeur : n port
ServerSocket s = new ServerSocket (8080);
Mthodes principales
adresse IP : InetAddress getInetAddress()
port : int getLocalPort()
attente de connexion : Socket accept() mthode bloquante
fermeture : void close()
Options TCP : timeOut, receiveBufferSize
Flux sortant
obtention du ot de donnes sortantes : bytes
OutputSteam out = socket . getOutputStream ();
try {
Socket socket = new Socket ( HOST , PORT );
// Lecture du flux d ' entre en provenance du serveur
InputStreamReader reader = new
InputStreamReader ( socket . getInputStream ());
BufferedReader istream = new BufferedReader ( reader );
String line = istream . readLine ();
// Echo la ligne lue vers le serveur
PrintWriter ostream = new PrintWriter ( socket . getOutputStream ());
ostream . println ( line );
ostream . flush ();
} catch ( IOException e) {...}
finally { try { socket . close ();} catch ( IOException e ){}}
// Machine destinataire
InetAddress address = InetAddress . getByName (" rainbow . essi . fr " );
static final int PORT = 4562;
// Cration du message envoyer
String s = new String (" Message envoyer " );
int longueur = s. length ();
byte [] message = new byte [ longueur ];
// Initialisation du paquet avec toutes les informations
DatagramPacket paquet = new DatagramPacket ( message , longueur ,
address , PORT );
// Cration du socket et envoi du paquet
DatagramSocket socket = new DatagramSocket ();
socket . send ( paquet );....
Constructeur
DatagramSocket ( port ) socket UDP sur port
DatagramSocket () socket UDP sur port qqconque
envoi : send(DatagramPacket)
rception : receive(DatagramPacket)
Options UDP : timeOut,...
remarque : possibilit de "connecter" une socket UDP une (@IP,port)
connect ( InetAddress , int )
Constructeur
DatagramPacket ( byte [] buf , int length )
DatagramPacket ( byte [] buf , int length , InetAddress , port )
envoi : send(DatagramPacket)
rception : receive(DatagramPacket)
se lier un groupe : joinGroup(InetAddress)
quitter un groupe : leaveGroup(InetAddress)
Limiter la porte des messages multicast : en xant le TTL
(setTimeToLive(int), le nombre de routeurs que le paquet peut
traverser avant d'tre arrt
0 : ne dpasse pas la machine
1 : ne dpasse pas le rseau local
127 : monde entier
M. Belguidoum (UMC) Programmation rseau 45 / 46
Conclusion
Bibliographie