5 public class SocketClient
{
6 BufferedReader lecture
; // pour le flot d'entrée venant du serveur
7 PrintWriter ecriture
; // pour le flot de sortie vers le serveur
9 ObjectOutput oEcriture
;
10 Socket sock
; // le socket client
12 public SocketClient() {
13 // établie une connexion au serveur par un appel
14 // à connexionServeur()
17 connexionServeur("localhost", 5000);
19 catch (IOException e
) {
20 System
.err
.println("IOException: " + e
);
26 public SocketClient(String adresseIPServeur
, int portServeur
) {
27 // établie une connexion au serveur par un appel
28 // à connexionServeur()
31 connexionServeur(adresseIPServeur
, portServeur
);
33 catch (IOException e
) {
34 System
.err
.println("IOException: " + e
);
40 private void connexionServeur(String adresseIPServeur
, int portServeur
) throws IOException
{
41 // créer un objet socket lié au socket serveur et l'affecte à sock
42 // puis établie les chaînages de flot nécessaires
43 // pour l'envoi et la reception de messages
44 sock
= new Socket(adresseIPServeur
, portServeur
);
46 OutputStream OStream
= sock
.getOutputStream();
47 ecriture
= new PrintWriter(OStream
);
48 oEcriture
= new ObjectOutputStream(OStream
);
50 InputStream IStream
= sock
.getInputStream();
51 InputStreamReader IMesg
= new InputStreamReader(IStream
);
52 lecture
= new BufferedReader(IMesg
);
53 oLecture
= new ObjectInputStream(IStream
);
56 private void attributesInit() {
65 * Send a message on the opened client socket
66 * @param msg a string containing the message to send
68 public void sendMsg(String msg
) {
69 ecriture
.println(msg
);
74 * Send an object message on the opened client socket
75 * @param msg a string containing the message to send
77 public void sendoMsg(Message oMsg
) throws IOException
{
78 oEcriture
.writeObject(oMsg
);
83 * Receive a message sent on the opened client socket
84 * @return a string containing the received message
86 public String
receiveMsg() throws IOException
{
87 String line
= new String();
88 //FIXME?: read only the line before the ending newline
89 line
= lecture
.readLine();
94 * Receive an object message sent on the opened client socket
95 * @return a string containing the received message
97 public Message
receiveoMsg() throws IOException
, ClassNotFoundException
{
98 return (Message
)oLecture
.readObject();
102 * Close all opened I/O streams attached to this object instance
104 public void closeRWIO() {
110 if (ecriture
!= null)
112 if (oLecture
!= null)
114 if (oEcriture
!= null) {
118 catch (IOException e
) {
119 System
.err
.println("IOException: " + e
);
124 } // fin classe SocketClient