Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Reseau et internet [ Réseau & internet / Internet ] (felouss)

lundi 26 juin 2006 à 15:44:21 | Reseau et internet

felouss

bonjour,j ai un probleme pour envoyer un gros fichier via UDP,udp ne permet l envoie de paquet > 65kilo,pour cela du coté serveur j ai decoupé le fichier en plusieurs paquet et je l ai mit dans un tableau de string pour l envoyer,mais le probleme se pose au niveau du client,il ne recoit que le 1er paquet apres ca blok!!ben voila si klk1 peut m aider,ci dessous le code du serveur et du client,merci d avance!

///////
serveur
/////
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.net.*;

class MulticastServer
{
   
public static void main(String arg[])
{
                        JFileChooser chooser = new JFileChooser();
                        chooser.setAcceptAllFileFilterUsed(false);
                       // chooser.addChoosableFileFilter(FILE_FILTER);
                        int ret = chooser.showOpenDialog(null);
                        if (ret == JFileChooser.APPROVE_OPTION) {//selection valide
                                                                

            if (chooser.getSelectedFile()== null ) return; // user pressed Cancel
            File theFile = new File(chooser.getCurrentDirectory(),
                                                chooser.getName(chooser.getSelectedFile()) );
          theText = "";
            try {
                FileReader fr = new FileReader(theFile);
                char charar[] = new char[(int)theFile.length()];
                fr.read(charar);
                theText = String.valueOf(charar);
                String ligne; System.out.println("zzz");
                BufferedReader entree = new BufferedReader(fr);
                do{ ligne=entree.readLine(); System.out.println("kkk");
                if(ligne!=null)
                 System.out.println("ligne"); System.out.println(ligne);}
                while (ligne!=null);
                entree.close();      
                fr.close();
                }
            catch ( FileNotFoundException excpt0 ) {}
            catch ( IOException excpt1 ) {}
           
            //currDirectory=(String)chooser.getCurrentDirectory();
        /*    currFileName=chooser.getName(chooser.getSelectedFile());           
            statusBar.setText(currFileName+ "   ...ouvert");
            zone.setText("");
            String contenu=String.valueOf(theText);
            Write_text(contenu,0);   
            dirty=false;updateCaption();}*/
}
//System.out.println(theText);
    try{
        size=theText.length();
    System.out.println("the size is : "+size);    //System.out.println(theText);
       // c3=size/65000;
     // System.out.println(c3);
       int c3=size/65000;//System.out.println(c3);
       int c4=c3+1;System.out.println("Decoupage en : "+c4);
       int c5=c3*65000;//System.out.println("le chifre est :"+c5);
        String [] tab = new String [10000000];
        //for(int i=0;i<tab.length;i++)
      int i=0;
      int k=0;
       while(i<c4)
        { 
            String aa[]= new String[3000];
           
            int f = k + 65000 ;
            System.out.println("size of f: "+f);
           
            if (f>size)
            {
                f=size-k;
                System.out.println("size of f smaller: "+f);
                int help = size;
                tab[i]= theText.substring(k,help);
            }//System.out.println(tab.length);
               //System.out.println(theText);
            //c3=size/65000;
             //System.out.println(c3);
             else {
                 tab[i]= theText.substring(k,f);
             }
            ;//System.out.println(tab[i]);
             k=k+65000;
              //i++;  }while(i<c4);
       
             //for(int l=0;l<tab.length;l++){
            //System.out.println(tab[l]);
            //}
       
             buff = new byte[200];
            String s="Message a envoyer";
            //byte data[] = s.getBytes();
               // for(int j=0;j<tab.length;j++){
             data = tab[i].getBytes(); i++;
             System.out.println("size of i: "+i);
            Ip = InetAddress.getByName("224.0.1.20");
       
              p = new DatagramPacket(data,data.length,Ip,8082);
               serv = new MulticastSocket();
             c = new MulticastSocket(8082);
              rec = new DatagramPacket(buff,buff.length);
               // System.out.println(theText);
       
            serv.joinGroup(Ip);
            c.joinGroup(Ip);
            serv.send(p);
            //
            //while(true){
            c.receive(rec);       
       
       
       
        String re = new String(rec.getData());
        System.out.println(re);
        //} 
       
        }   //while(i<=c4);
       
        //System.out.println(theText);
       // serv.close();
       }
       catch(IOException e){System.out.println(e);}
}
public static String theText;
//public static JFileChooser chooser = new JFileChooser();
//public static File theFile = new File(chooser.getCurrentDirectory(),chooser.getName(chooser.getSelectedFile()) );
public static int size;
//public static int c4=size;
    //public static int  c3=c4/65000;
   
    //public static String [] tab = new String [c3];
public static byte data[];
public static byte buff[];


public static InetAddress Ip; // InetAddress.getByName("224.0.1.20");
       
      public static  DatagramPacket p; //= new DatagramPacket(data,data.length,Ip,8082);
     public static   MulticastSocket serv;// = new MulticastSocket();
  public static      MulticastSocket c;// = new MulticastSocket(8082);
  public static      DatagramPacket rec;// = new DatagramPacket(buff,buff.length);
}
  //////////////////////////////////////

le code du client
///////////////////////////
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.net.*;

class MulticastClient
{

public static void main(String arg[])
{
    try{
        
         String a = "ameur ";
        String a1 = "tu est trop fort ";
        a=a.concat(a1);
         System.out.println(a);
        
        
      // Object o;
       //File objFich = new File ("amr.txt");
       //DataOutputStream sortie = new  DataOutputStream(new FileOutputStream(objFich));
       //o=objFich;

               
int i=0;
while(i<10)
       { String mess = "fred t es trop B... ";
        byte buff[] = mess.getBytes();
        String host = "224.0.1.20";
        byte data[] = new byte[200];
         Ip = InetAddress.getByName("224.0.1.20");
       
         p = new DatagramPacket(data,data.length);
         rec = new DatagramPacket(buff,buff.length,Ip,8082);
         serv = new MulticastSocket(8082);
       
        serv.joinGroup(InetAddress.getByName(host));
        serv.receive(p);
       
        String s = new String(p.getData());
        mm=mm.concat(s);
        System.out.println(mm);i++;
      
      

        try{
 File file = new File("a.txt");
 FileWriter out = new FileWriter(file,true);
 //int i=sortie.lastIndexOf('%');
 //if(k==0)if(i!=-1)sortie=sortie.substring(0,i);
 out.write(mm);
 out.close();
 }catch (IOException e) {}
        serv.send(rec);
       
       
       
        serv.close(); }//fin du while
       }
       catch(IOException e){System.out.println(e);}
}

 public static String mm = "";
public static byte data[];
public static byte buff[];


public static InetAddress Ip; // InetAddress.getByName("224.0.1.20");
       
      public static  DatagramPacket p; //= new DatagramPacket(data,data.length,Ip,8082);
     public static   MulticastSocket serv;// = new MulticastSocket();
  public static      MulticastSocket c;// = new MulticastSocket(8082);
  public static      DatagramPacket rec;

}   
      
merci    
 

lundi 26 juin 2006 à 18:55:16 | Re : Reseau et internet

sheorogath

Membre Club Administrateur CodeS-SourceS
je lock
c'est du f#### de gu#### ton autre topic multicast est au dessous
 a deux ou trois topic pres

bonne soiree
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"



Cette discussion est classé dans : public, string, system, out, println


Sujets en rapport avec ce message

AIDE sur Connexion BDD MySQL [ par zeldoi5 ] Bonjour tout le monde!Je sais que le problème dont je vais parler a déjà été traité plusieurs fois... Mais impossible de me connecter à ma base de don java-probleme de saisie [ par steef04 ] salut j'ai un prob avec le prog qui suit ca ne donne pas la possibilite d'entrer le code,je ne peux continuer une aide please!!!!//ce programme fait l une banque en java [ par shadowcat1 ] bonjour a tousj'ai un probleme d'appel de methode. j'ai tout essayé mais ca ne marche pas.ca concerne la creation d'un compte pour une personne(soit m slt [ par samira46 ] voila les codes: 1.la classe du serveur: import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class serveur { Erreurs de compilation sous Windows [ par legolas45 ] Mon probleme est la suivant. Quand je compile mon programme sous Linux tout se passe bien aucun probleme mais quand je compile sous windows il me met socket [ par spy2008 ] slt a tous le monde j travaille sur un programme sur le réseaus,ou mon application dans chaque poste du reseau faite un calcle si trouve un resultat ( extraire des donnees d'un fichier xml pour les utiliser [ par ramzi ramzi ] Salut a tousJ'ai creer un parseur SAX qui extraire les donnee (element et leurs attributs) et les affiches dans la sortie standard(console)j'ai ajoute Adresse Mac via snmp (en local) [ par boumhid ] Bonjour tt le monde,j'ai pas su comment récupérer mon adresse mac via le protocole SNMP. Ci-dessous, un code que j'ai écrit qui m'a permit de récupére gros probleme [ par romainbisson ] j'ai un gros soucis, j'ai une classe qui permet de se connecter sur le serveur pop de gmail, maintenant j'aimerais crée une autre classe avec une JFr Urgent svp un probleme de trie!!!! [ par wissal04 ] avant de commencer bsr a tous,j'ai un probleme de tri,j'ai fais un tableau a une seul dimenssion et je voudrais le trié avant d'afficher son contenue


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.