Package tsp.csc4509.tcpservices
Class TcpSocket
java.lang.Object
tsp.csc4509.tcpservices.TcpSocket
- All Implemented Interfaces:
AutoCloseable
Classe qui
1. établit la connexion d'un client ;
2. fournit les méthodes d'échange de données sur un canal TCP connecté (par un client ou un serveur).
- Author:
- Eric Lallet.
-
Constructor Summary
ConstructorDescriptionConstructeur utilisé par le client pour ouvrir une connexion vers un serveur, et créer un instance TcpSocket.TcpSocket
(SocketChannel rwChan) Constructeur utilisé par les serveurs pour créer une instance TcpSocket à partir d'une connexion obtenue suite à un accept. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
int
echo()
Renvoie tous les octets reçus sur la connexion TCP tant que celle-ci reste ouverte.int
receiveBuffer
(ByteBuffer buffer) Reçoit des données sur la connexion TCP jusqu'à la fermeture la connexion entrante ou le remplissage du buffer passé en paramètre.Reçoit un objet sérialisable sur la connexion TCP.int
Reçoit un entier sur la connexion TCP.int
sendBuffer
(ByteBuffer buffer) Envoie les données contenues dans le buffer sur la connexion TCP.int
Envoie un objet instancié sérialisable sur la connexion TCP.int
sendSize
(int size) Envoie un entier sur la connexion TCP.
-
Constructor Details
-
TcpSocket
Constructeur utilisé par les serveurs pour créer une instance TcpSocket à partir d'une connexion obtenue suite à un accept.- Parameters:
rwChan
- le canal déjà connecté suite à l'accept.
-
TcpSocket
Constructeur utilisé par le client pour ouvrir une connexion vers un serveur, et créer un instance TcpSocket.- Parameters:
serverHost
- le nom de la machine où tourne le serveur.serverPort
- le numéro du port TCP utilisé par le serveur.- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-
-
Method Details
-
sendBuffer
Envoie les données contenues dans le buffer sur la connexion TCP.- Parameters:
buffer
- le buffer contenant les données à envoyer.- Returns:
- le nombre d'octets envoyés.
- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-
sendObject
Envoie un objet instancié sérialisable sur la connexion TCP.- Parameters:
s
- référence sur l'objet à envoyer.- Returns:
- le nombre d'octets envoyés.
- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-
sendSize
Envoie un entier sur la connexion TCP.- Parameters:
size
- la valeur de l'entier à envoyer.- Returns:
- le nombre d'octets envoyés.
- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-
receiveBuffer
Reçoit des données sur la connexion TCP jusqu'à la fermeture la connexion entrante ou le remplissage du buffer passé en paramètre. La méthode remplit le buffer à partir du premier octet de celui-ci, en écrasant éventuellement des données déjà présente.- Parameters:
buffer
- le buffer où stocker les données.- Returns:
- le nombre d'octets placés dans le buffer.
- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-
receiveSize
Reçoit un entier sur la connexion TCP.- Returns:
- la valeur de l'entier reçu.
- Throws:
IOException
- le nombre d'octets placés dans le buffer.
-
receiveObject
Reçoit un objet sérialisable sur la connexion TCP.- Returns:
- la référence sur l'objet reçu.
- Throws:
IOException
- toutes les exceptions d'entrées/sortiesClassNotFoundException
- l'exception levée si l'objet reçu est d'une classe inconnue de notre programme.
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-
echo
Renvoie tous les octets reçus sur la connexion TCP tant que celle-ci reste ouverte.- Returns:
- le nombre total d'octets reçus.
- Throws:
IOException
- toutes les exceptions d'entrées/sorties.
-