Socket envoyer et recevoir un tableau d'octets
Dans le serveur, j'ai envoyer un tableau d'octets pour le client par le biais de Java socket
byte[] message = ... ;
DataOutputStream dout = new DataOutputStream(client.getOutputStream());
dout.write(message);
Comment puis-je recevoir ce tableau d'octets à partir d'un client?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Essayer, c'est de travailler pour moi.
Expéditeur:
Récepteur:
Tout d'abord, ne pas utiliser de
DataOutputStream
sauf si c'est vraiment nécessaire. Deuxième:Bien sûr, cela n'a aucune vérification des erreurs, mais cela devrait vous aller. Le JDK API Javadoc est un ami qui peut vous aider beaucoup.
Il y a un JDK socket tutoriel iciqui couvre à la fois le serveur et le client final. Qui ressemble exactement à ce que vous voulez.
(à partir de ce tutoriel) C'est à lire à partir d'un serveur echo:
de prendre un flux d'octets et permet de convertir des chaînes via le lecteur et à l'aide d'un codage par défaut (pas conseillé, normalement).
Erreur de manipulation et de fermeture des sockets/flux omis de ce qui précède, mais consultez le tutoriel.
Vous devez avoir le message d'une taille fixe, ou vous avez besoin d'envoyer la taille ou vous avez besoin d'utiliser certains caractères de séparation.
C'est le cas le plus facile pour une taille connue (100 octets):
Dans ce cas
DataInputStream
de sens car il offrereadFully()
. Si vous ne l'utilisez pas, vous avez besoin de boucle de vous jusqu'à ce que le nombre d'octets à lire.