omcougar
Messages postés152Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 8 octobre 2008
-
20 sept. 2006 à 10:08
cs_stillfelil
Messages postés108Date d'inscriptionsamedi 31 juillet 2004StatutMembreDernière intervention12 septembre 2009
-
20 sept. 2006 à 16:40
Bonjour,
Je joue un peu avec les com. TCP... j'ai trouvé plein d'exemples sur ce site pour monter une petite architecture client-serveur simple transferant des string... j'utilise donc les objets suivants:
BufferedReader
B_In
PrintStream
S_Out
C'est bien, mais j'ai rapidement rencontré des problemes quand j'ai voulu transferer autre chose qu'un texte tapé manuellement, certain caracterers mettant vite le bazar....
quels sont les objets que je dois utiliser pour transférer des tableaux d'octets byte[] plutot que des strings ?
cs_stillfelil
Messages postés108Date d'inscriptionsamedi 31 juillet 2004StatutMembreDernière intervention12 septembre 20093 20 sept. 2006 à 15:48
Salut
ya une methode dans la class String qui s'appel byte[] getBytes()
exemple
String str = "hello";
byte[] octets = str.getBytes();
et pour envoyer le tout ,utilse la class java.io.OutputStream
et java.io.InputStream pour la reception
attention ca genere des exception
donc :
try
{
//...
}
catch(java.io.IOException)
{
}
oblige
et comme ca tu envoi octets au lieu de str
je ne sais pas si ca repond a ta question
;-)
cs_stillfelil
Messages postés108Date d'inscriptionsamedi 31 juillet 2004StatutMembreDernière intervention12 septembre 20093 20 sept. 2006 à 16:38
pas
OUT.write(bytes[]);
mais tu doit mettre ton tableau d'ectets a la pace
//-------------------
et ben oui, l'entier correspond a un byte
pour envoyer un fichier par exmple tu va faire
int i ;
char c;
byte b;
while( (i = IN.read())!= -1 )
{
c = (char)i; //la tu la en caractere
b = (byte) i; //la tu la en byte
//et a partir de la ten fait ce que tu veu
}
Ah oui noublie pas devoyer le -1 pour faire savoir la fin de ton flux
comme ca
int i = -1;
byte b = (byte) i;
//et tu l'envoi
;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?