Le problème est que vos données arrivent en morceaux. Soit la taille du paquet est limitative, soit DataInputStream a peut-être un tampon interne de seulement 40k. Je ne sais pas, mais ça n'a pas d'importance. De toute façon, tous les 1000000 octets n'arriveront pas à la fois. Donc, vous devez réécrire votre programme pour s'y attendre. Vous devez lire les plus petits morceaux que vous recevez et les stocker dans une autre variable octet [1000000] (en gardant une trace de l'endroit où se trouve votre dernier index d'octets). Continuez à boucler jusqu'à ce que vous ayez fini de lire le socket. Ensuite, vous pouvez travailler avec votre variable interne.
Deepak, s'il vous plaît poser vos questions plus précisément. Qu'avez-vous essayé jusqu'à présent? Si vous avez écrit du code, qu'est-ce qui ne va pas, etc.? –
Si j'utilise read() pour des données volumineuses. Alors laissez la longueur des données est réellement 100000 caractères byt ma méthode de lecture peut lire jusqu'à 40000 octets maximum à ce moment octet [] b = nouvel octet [100000] DataInputStream.read (b); System.out.println (nouvelle chaîne (b)); – Deepak