I. IntroductionTransfert de fichiers TCP Problème
Je suis en train d'ouvrir et de lire à partir d'un fichier, en envoyant des blocs de données via un socket TCP pendant que je lis.
CODE ÉMETTEUR
byte[] buffer = new byte[16384];
while ((in.read(buffer)) > 0)
{
SendProtocol(new FileTransfer(sender, receiver, buffer);
}
RÉCEPTEUR CODE
if(o instanceOf FileTransfer)
FileTransfer tf = (FileTransfer) o;
out.write(tf.getData);
}
II. Problème
Après avoir envoyé le protocole via le socket TCP, je vois les octets envoyés. Ils sont tous uniques. MAIS du côté du récepteur, les octets reçus sont exactement les mêmes octets [] à plusieurs reprises.
III. Exemple
SENDER BYTES
[3, 3, 5, -44, 4, 3]
[99, -3, 5, -44, 7, 3]
[-11, 3, 5, -44, 4, 7]
[10, 6, 5, -44, 4, 66]
RECEIVER BYTES
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
[3, 3, 5, -44, 4, 3]
Quelle est votre classe '' SendProtocol' et FileTransfer'? Ils ne sont pas la bibliothèque java standard. –
SendProtocol est une fonction dans la classe de réseau de mes clients qui délègue toute la connectivité TCP des sockets ect. Boucle d'écoute pour les protocoles avec des flux d'entrée et de sortie. Ma classe FileTransfer n'est pas une bibliothèque Java standard, c'est un objet de classe sérialisable qui contient, expéditeur, destinataire et octets. (Y a-t-il une meilleure façon de faire cela O_O)? – user515574