Accueil > Forum > > > > [JMF][RTPManager] probleme de transmission ou de reception de video
[JMF][RTPManager] probleme de transmission ou de reception de video
vendredi 3 septembre 2004 à 16:20:57 |
[JMF][RTPManager] probleme de transmission ou de reception de video

vdavid1982
|
voila aprés des jours complets de recherche je me suis décidé à demander clairement sur ce forum de l'aide ... je dois réaliser un logiciel de visioconférence j'utilise donc un RTPManager pour la transmission de la video je crois que l'envoie de la video se passe bien ... peut etre est ce alors la réception qui ne fonctionne pas :: voici le code du server Code: package server;
import javax.media.*; import javax.media.rtp.*; import javax.media.rtp.event.*; import javax.media.format.*; import javax.media.control.*; import javax.media.protocol.*; import javax.media.rtp.rtcp.*;
import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.net.*;
import javax.swing.*;
import com.sun.media.protocol.DataSource;
public class fenetre_server { // Declaration du CaptureDeviceInfo de la Webcam et du micro CaptureDeviceInfo Webcam = null; CaptureDeviceInfo Micro = null; // Declaration des Processors du Micro et de la Webcam Processor MicroCessor = null; Processor WebcamCessor = null; // paneVideo Jpanel contenant le player video JPanel paneVideo = null; // player = player video Player player = null; JFrame server = null; javax.media.protocol.DataSource ds = null; // Ports de transmission de la video private int local_port = 40000; private int dest_port = 22224; // Variables du RTPManager RTPManager rtpm=null; SessionAddress localaddr=null; Vector sendS = new Vector();; public fenetre_server() { afficher_server_webcam(); } public void configurer_source() { // Recherche des CaptureDevices //Vector deviceList = CaptureDeviceManager.getDeviceList(new AudioFormat( "linear",8000,8,1)); Vector deviceList2 = CaptureDeviceManager.getDeviceList(new VideoFormat(VideoFormat.RGB)); // Creation des CaptureDeviceInfo pour le Micro et la Webcam //Micro = (CaptureDeviceInfo)deviceList.get(0); // 0 premier par exemple Webcam = (CaptureDeviceInfo)deviceList2.get(0); try { ds = Manager.createDataSource(Webcam.getLocator()); } catch (NoDataSourceException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } try { //Creation du Processor du Micro et de la Webcam //MicroCessor = Manager.createProcessor(Micro.getLocator()); WebcamCessor = Manager.createProcessor(ds); System.out.println("WebCamCessor initialisé"); } catch(IOException e) { System.out.println("Erreur 1 : "+e.getMessage()); } catch(NoProcessorException e) { System.out.println("Erreur 2 : "+e.getMessage()); } } public void configuration() { //this.MicroCessor = configure(MicroCessor); this.WebcamCessor = configure(WebcamCessor); //this.SetSupportedFormat(MicroCessor); this.SetSupportedFormat(WebcamCessor); //this.MicroCessor = realize(MicroCessor); this.WebcamCessor = realize(WebcamCessor); //this.MicroCessor.start(); this.WebcamCessor.start(); System.out.println("WebCamCessor configuré"); } public Processor configure(Processor p) { //Attendre tant que le Processor n'est pas configuré. while(p.getState() < Processor.Configured) { //Configuration du Processor p.configure(); } return p; } public void SetSupportedFormat(Processor p) { //On met la description du contenu de sortie à RAW_RTP // pour limiter les formats supportés ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP); p.setContentDescriptor(cd); //On obtient les différentes pistes du processor TrackControl track[] = p.getTrackControls(); for(int i = 0 ; i < track.length ; i++) { //on obtient les formats supportés pour cette piste Format suppFormats[] = track[i].getSupportedFormats(); //Si il y a au moins un format supporté // alors on met le premier if(suppFormats.length > 0) { track[i].setFormat(suppFormats[0]); } else { track[i].setEnabled(false); } } } public Processor realize(Processor p) { //Attendre tant que le Processor n'est pas réalisé. while(p.getState() < Processor.Realized) { //Réalisation du Processor p.realize(); } return p; } public void affichage_video() { // mise en place du player try { // mis ds le try pour eviter les erreurs; paneVideo = new JPanel(); server.getContentPane().add(paneVideo,BorderLayout.CENTER); player = Manager.createRealizedPlayer(ds); player.start(); paneVideo.add(player.getVisualComponent()); System.out.println("Player démarré et affiché."); paneVideo.repaint(); server.getContentPane().repaint(); server.repaint(); } catch (IOException ioe) { WebcamCessor.stop(); WebcamCessor.close(); System.out.println("Erreur ioe : "+ioe); } catch (NoPlayerException npe) { WebcamCessor.stop(); WebcamCessor.close(); System.out.println("Erreur npe : "+npe); } catch (CannotRealizeException cre) { WebcamCessor.stop(); WebcamCessor.close(); System.out.println("Erreur cre : "+cre); } } public void afficher_server_webcam() { JButton activer = new JButton("Activer webcam"); activer.addMouseListener(new activer_webcam()); JButton desactiver = new JButton("Désactiver webcam"); desactiver.addMouseListener(new desactiver_webcam()); server = new JFrame("Configurer webcam"); server.setSize(500,500); server.getContentPane().add(activer,BorderLayout.NORTH); server.getContentPane().add(desactiver,BorderLayout.SOUTH); server.show(); } class activer_webcam implements MouseListener { public void mouseClicked(MouseEvent arg0) { configurer_source(); configuration(); affichage_video(); //createTransmitter(WebcamCessor); createRTPManager(WebcamCessor); //createDataSink(WebcamCessor); //createRTPManager2(WebcamCessor); //addDestination("192.168.0.5"); } public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} } class desactiver_webcam implements MouseListener { public void mouseClicked(MouseEvent arg0) { WebcamCessor.stop(); WebcamCessor.close(); System.out.println("WebcamCessor fermé"); } public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent arg0) {} public void mouseReleased(MouseEvent arg0) {} } public void createRTPManager(Processor p) { //Creation du DataSource correspondant au Processor javax.media.protocol.DataSource OutputSource = p.getDataOutput(); //Nouvelle Instance d'un RTPManager RTPManager rtpm = RTPManager.newInstance(); //rtpm.addFormat(new VideoFormat(VideoFormat.RGB),0); try { //Création d'une SessionAddress correspondant à l'adresse locale SessionAddress localaddr = new SessionAddress(InetAddress.getLocalHost(),40000); //Initialisation du RTPManager à partir de la SessionAddresse locale rtpm.initialize(localaddr); //Création d'une SessionAddress correspondant à l'adresse de destination SessionAddress destaddr = new SessionAddress(InetAddress.getByName("192.168.0.5"),22224); //Ajout de cette SessionAddress dans le RTPManager rtpm.addTarget(destaddr); //Creation d'un SendStream à partir du DataSource SendStream ss2 = rtpm.createSendStream(OutputSource,0); //Demarrage du SendStream ss2.start(); System.out.println("SendStream Started"); } catch(UnknownHostException e){System.out.println("erreur : "+e);} catch(IOException e) {System.out.println("erreur : "+e); } catch(InvalidSessionAddressException e) {System.out.println("erreur : "+e); } catch(UnsupportedFormatException e) { System.out.println("erreur : "+e);} } }
et maintenant celui du client Code: package client;
import java.io.IOException; import java.net.InetAddress;
import javax.media.Codec; import javax.media.*; import javax.media.format.VideoFormat; import javax.media.rtp.*; import javax.media.rtp.event.*; import javax.swing.*;
public class client_rtpmanager implements ReceiveStreamListener { private int local_port = 45000; private int source_port = 22224; public static void main(String[] args) {new client_rtpmanager(); } public client_rtpmanager() { JFrame mainfra = new JFrame(); mainfra.setVisible(true); boolean dataReceived = false; Object dataSync = new Object(); //Instanciation du RTPManager RTPManager VideoManager = RTPManager.newInstance(); VideoManager.addFormat(new VideoFormat(VideoFormat.H263_RTP), 0); try { //Creation d'une SessionAddress pour l'adresse locale SessionAddress add = new SessionAddress(InetAddress.getLocalHost(),local_port); //SessionAddress add = new SessionAddress(); System.out.println("----------- adresse locale -----------"); System.out.println(add.toString()); //Initialisation du RTPManager à partir de cette SessionAddress VideoManager.initialize(add); //Creation d'une SessionAddress pour l'adresse source SessionAddress add2 = new SessionAddress(InetAddress.getByName("192.168.0.5"),source_port); System.out.println("----------- adresse source -----------"); System.out.println(add2.toString()); //Ajout de cette SessionAddress dans le RTPManager VideoManager.addTarget(add2); } catch(InvalidSessionAddressException e) {System.out.println("Erreur : "+e); } catch(IOException e){ System.out.println("Erreur : "+e);} //Ajout du Listener de Reception de Stream dans le RTPManager VideoManager.addReceiveStreamListener(this); System.out.println("Client Started");
} public void update(ReceiveStreamEvent event) { System.out.println("EN cours de réception"); //Verification que l'event est un nouvel event if(event instanceof NewReceiveStreamEvent) { System.out.println("New Reception"); //Nouveau Flux Recu obtenu ReceiveStream rs = event.getReceiveStream(); try { //Creation du Player sur ce flux Player p = Manager.createRealizedPlayer(rs.getDataSource()); //Si le player a un composant visuel, alors creation d'une fenetre if(p.getVisualComponent() != null) { JFrame fenetre = new JFrame("Player"); fenetre.setSize(160,140); fenetre.getContentPane().add(p.getVisualComponent()); fenetre.setVisible(true); } //Demarrage du Player p.start(); } catch(NoPlayerException e) {System.out.println("Erreur e :"+e);} catch(CannotRealizeException e) {System.out.println("Erreur e :"+e);} catch(IOException e) {System.out.println("Erreur e :"+e);} } else System.out.println("C'était un nouvel receivestream"); } }
|
|
vendredi 3 septembre 2004 à 16:27:10 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

wargre
|
deja met un ecouteur de reseau pour voir s'il y a une communication entre ton client et ton serveur si tu ne sais pas si ton serveur marche.
|
|
vendredi 3 septembre 2004 à 16:34:37 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

vdavid1982
|
qu'est ce qu'un ecouteur de réseau ???? jvai chercher ca ...
|
|
vendredi 3 septembre 2004 à 16:48:46 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video
|
lundi 4 avril 2005 à 09:38:47 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

grschtroumpf
|
salut vdavid1982,
j'ai le meme problème que toi !!!
As-tu trouvé la solution ???
je suis désespéré, après plusieurs jours de galère aucune solution trouvée ........ 
|
|
jeudi 14 avril 2005 à 15:04:46 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

lamoufle
|
Bonjour
j'ai a peu prés le meme code et moi ça marche !!!
le probleme ne pourrait-il pas venir de cette ligne: coté client :
VideoManager.addFormat(new VideoFormat(VideoFormat.H263_RTP), 0);
moi j'ai plutot: VideoManager.addFormat(new VideoFormat(VideoFormat.H263_RTP), 18);
|
|
vendredi 17 février 2006 à 11:54:19 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

hissou
|
le probleme ke ce code fonctione dans certains ordinateur... 
|
|
lundi 26 juin 2006 à 14:11:42 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

amine0023
|
Salut a tous, j'ai exactement le meme probleme et j'arrive tjr pas a trouver la solution??? 
|
|
vendredi 18 août 2006 à 20:49:37 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video

hissou
|
Ce code marche bien
Class Emetteur:
import java.net.*; import java.io.*;
//import pour la JMF import javax.media.*; import javax.media.rtp.*; import javax.media.format.*; import javax.media.control.*; import javax.media.protocol.*;
//classe qui gere la communication cote emission //ainsi que la recuperation du flux de la webcam
public class emetteurCOM {
private String adresseDest; private emetteurIHM parent; private MediaLocator videoLocator; private Processor WebcamCessor = null;
public emetteurCOM(emetteurIHM parent) { this.parent = parent; }
public void webCam() {
//configuration de la source webcam parent.ecritureAffichage("Configuration de la source (webcam)"); videoLocator = new MediaLocator("vfw://0");
try { //creation du processor a partir de la webcam trouvee parent.ecritureAffichage("Creation du processor"); WebcamCessor = Manager.createProcessor(videoLocator); } catch (NoProcessorException ex) { } catch (IOException ex) { }
//appel des differentes methodes pour l'envoi du flux video parent.ecritureAffichage("Configuration du processor"); configure(WebcamCessor); parent.ecritureAffichage("Mise au bon format du flux"); SetSupportedFormat(WebcamCessor); parent.ecritureAffichage("Processor pret !"); WebcamCessor = realize(WebcamCessor); parent.ecritureAffichage("Demarrage du processor"); Demarre(WebcamCessor); parent.ecritureAffichage("Creation du RTPManager"); createRTPManager(WebcamCessor); }
public void setAdresseDest(String adresseDest) {
this.adresseDest = adresseDest; }
//Pour pouvoir transmettre un flux, un processor doit passer par differentes etapes
//1- Configuration du Processor (démultiplexe le flux d'entrée et obtient des informations sur le format des données d'entrée) public Processor configure(Processor p) {
//Attendre tant que le Processor n'est pas configuré. while (p.getState() < Processor.Configured) { //Configuration du Processor p.configure(); } return p; }
//2- Mise des differentes pistes du flux dans un format supporte public void SetSupportedFormat(Processor p) {
//On met la description du contenu de sortie à RAW_RTP // pour limiter les formats supportés ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP); p.setContentDescriptor(cd);
//On obtient les différentes pistes du processor TrackControl track[] = p.getTrackControls(); for (int i = 0; i < track.length; i++) { //on obtient les formats supportés pour cette piste Format suppFormats[] = track[i].getSupportedFormats();
//Si il y a au moins un format supporté
// alors on met le premier if (suppFormats.length > 0) { track[i].setFormat(suppFormats[0]); } else { track[i].setEnabled(false); } } }
//3- Realisation du processor => processor pret ! public Processor realize(Processor p) {
//Attendre tant que le Processor n'est pas réalisé. while (p.getState() < Processor.Realized) { //Réalisation du Processor p.realize(); } return p; }
//4- Demarrage du procesor public void Demarre(Processor p) {
//Demarrage du Processor p.start(); }
//Transmission du flux video
//Utilisation d'un RTPManager public void createRTPManager(Processor p) {
//Creation du DataSource correspondant au Processor DataSource OutputSource = p.getDataOutput();
//Nouvelle Instance d'un RTPManager RTPManager rtpm = RTPManager.newInstance();
try { //Création d'une SessionAddress // correspondant à l'adresse locale SessionAddress localaddr = new SessionAddress (InetAddress.getLocalHost(), 40000);
//Initialisation du RTPManager // à partir de la SessionAddresse locale rtpm.initialize(localaddr);
//Création d'une SessionAddress // correspondant à l'adresse de destination SessionAddress destaddr = new SessionAddress (InetAddress.getByName(adresseDest), 22224);
//Ajout de cette SessionAddress dans le RTPManager rtpm.addTarget(destaddr);
//Creation d'un SendStream à partir du DataSource SendStream ss2 = rtpm.createSendStream(OutputSource, 0);
//Demarrage du SendStream ss2.start(); System.out.println("Started"); } catch (UnknownHostException e) {} catch (IOException e) {} catch (InvalidSessionAddressException e) {} catch (UnsupportedFormatException e) {} }
}//class
Class IHM pour Emetteur:
import javax.swing.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.Dimension; import java.awt.Color; import java.awt.event.WindowEvent; import java.awt.event.WindowAdapter; import javax.swing.border.*; import java.text.*;
//classe qui gere l'interace graphique cote emission
public class emetteurIHM extends JFrame{
private JPanel contentPanel; private JPanel panelBouton; private JPanel panelAdresse; private JButton boutonConnection; private JTextArea affichage; private JScrollPane scrollAffichage;
//pour la recuperation de l'adresse IP private JFormattedTextField IPDest1; private JFormattedTextField IPDest2; private JFormattedTextField IPDest3; private JFormattedTextField IPDest4;
private String adresseDest;
private emetteurCOM com;
public emetteurIHM() {
//creation de la fenetre super("Emetteur");
//creation de l'objet permettant la communication en emission com = new emetteurCOM(this);
try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } }
public void jbInit() {
//definition de la taille de la fenetre this.setSize(350, 500); this.setResizable(false);
//creation du panel de la JFrame contentPanel = (JPanel) getContentPane();
panelBouton = new JPanel(); panelAdresse = new JPanel();
boutonConnection = new JButton("Connection");
affichage = new JTextArea(); affichage.setLineWrap(true); affichage.setWrapStyleWord(true); scrollAffichage = new JScrollPane(affichage); affichage.setEditable(false); affichage.setBackground(Color.white); scrollAffichage.setPreferredSize(new Dimension(0, 400));
panelBouton.setLayout(new BoxLayout(panelBouton, BoxLayout.X_AXIS)); panelBouton.setBackground(Color.white); panelBouton.add(boutonConnection); boutonConnection.setAlignmentY(CENTER_ALIGNMENT); panelBouton.add(Box.createRigidArea(new Dimension(20, 0)));
//pour le format des differents octets de l'adresse IP (integer) NumberFormat nf = NumberFormat.getIntegerInstance();
panelAdresse.setLayout(new BoxLayout(panelAdresse, BoxLayout.X_AXIS)); panelAdresse.setBackground(Color.white); panelAdresse.setBorder(new TitledBorder("IP destinataire"));
IPDest1 = new JFormattedTextField(nf); IPDest1.setHorizontalAlignment(JTextField.RIGHT); panelAdresse.add(IPDest1); panelAdresse.add(new JLabel(" . "));
IPDest2 = new JFormattedTextField(nf); IPDest2.setHorizontalAlignment(JTextField.RIGHT); panelAdresse.add(IPDest2); panelAdresse.add(new JLabel(" . "));
IPDest3 = new JFormattedTextField(nf); IPDest3.setHorizontalAlignment(JTextField.RIGHT); panelAdresse.add(IPDest3); panelAdresse.add(new JLabel(" . "));
IPDest4 = new JFormattedTextField(nf); IPDest4.setHorizontalAlignment(JTextField.RIGHT); panelAdresse.add(IPDest4);
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS)); contentPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); contentPanel.setBackground(Color.white);
contentPanel.add(panelAdresse); contentPanel.add(Box.createRigidArea(new Dimension(200, 10))); contentPanel.add(panelBouton); contentPanel.add(Box.createRigidArea(new Dimension(200, 10))); contentPanel.add(scrollAffichage);
this.gestionEvenementsFenetre(); this.show();
boutonConnection.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
if (IPDest1.getText().length() == 0 || IPDest2.getText().length() == 0 || IPDest3.getText().length() == 0 || IPDest4.getText().length() == 0) { ecritureAffichage("Aucune adresse n'a ete saisie"); } else {
adresseDest = new String(IPDest1.getText() + "." + IPDest2.getText() + "." + IPDest3.getText() + "." + IPDest4.getText()); com.setAdresseDest(adresseDest); com.webCam(); } } }); }
//gestion des evenements de la fenetre principale public void gestionEvenementsFenetre() {
WindowAdapter win = new WindowAdapter() { //fermeture de la fenetre public void windowClosing(WindowEvent e) { System.exit(0); } };
//le gestionnaire gere les evenements de la fenetre courante this.addWindowListener(win); }
//permet d'ecrire dans la zone de texte public void ecritureAffichage(String s) { affichage.append(s + "\n"); }
}//class
ClassTestEmetteur:
import javax.swing.UIManager;
public class testEmetteur { public testEmetteur() {
try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } }
//programme principal public static void main(String[] argv) {
//permet de donner a notre application l'aspect des appli de l'OS sur laquelle on est try { UIManager.setLookAndFeel(UIManager. getSystemLookAndFeelClassName()); } catch (Exception exception) { exception.printStackTrace(); }
emetteurIHM em = new emetteurIHM();
}
private void jbInit() throws Exception { } }
Class Recepteur:
import java.net.*; import java.io.*; import javax.swing.*;
//import pour la jmf import javax.media.*; import javax.media.rtp.*; import javax.media.rtp.event.*; import javax.media.format.*; import java.awt.Color; import java.awt.Dimension;
//classe qui gere toute la reception
public class recepteur {
private JPanel contentPanel; private JLabel label1;
public static void main(String[] args) { new recepteur(); }
public recepteur() {
JFrame mainfra = new JFrame(); mainfra.setSize(200,100);
contentPanel = (JPanel) mainfra.getContentPane(); contentPanel.setBackground(Color.white); contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS));
label1 = new JLabel("En attente du flux video...");
contentPanel.add(Box.createRigidArea(new Dimension(0, 25))); contentPanel.add(label1); mainfra.setVisible(true);
//Instanciation du RTPManager RTPManager VideoManager = RTPManager.newInstance(); VideoManager.addFormat(new VideoFormat( VideoFormat.H263_RTP), 18);
try { //Creation d'une SessionAddress pour l'adresse locale SessionAddress add = new SessionAddress( InetAddress.getLocalHost(), 22224);
//Initialisation du RTPManager // à partir de cette SessionAddress VideoManager.initialize(add);
//Creation d'une SessionAddress pour l'adresse source SessionAddress add2 = new SessionAddress( InetAddress.getByName("127.0.0.1"), 40000);
//Ajout de cette SessionAddress dans le RTPManager VideoManager.addTarget(add2); }
catch (InvalidSessionAddressException e) {}
catch (IOException e) {}
//Ajout du Listener de Reception de Stream dans le RTPManager (on attend l'arrivee d'un flux) VideoManager.addReceiveStreamListener(new ReceiveStreamListener() {
//Gestion de l'évènement ReceiveStreamEvent //Cette méthode se produit lorsque l'on reçoit un flux. //Il faut donc d'abord s'assurer que c'est un nouveau flux. //Ensuite, on récupère le DataSource de ce flux et on crée un Player avec. //Enfin si, c'est un flux vidéo, on ajoute le composant visuel dans une nouvelle Fenêtre créée.
public void update(ReceiveStreamEvent event) {
//Verification que l'event est un nouvel event if (event instanceof NewReceiveStreamEvent) { System.out.println("Reception d'un flux");
//Nouveau Flux Recu obtenu ReceiveStream rs = event.getReceiveStream();
try {
//Creation du Player sur ce flux Player p = Manager.createRealizedPlayer( rs.getDataSource());
//Si le player a un composant visuel, // alors creation d'une fenetre if (p.getVisualComponent() != null) {
JFrame fenetre = new JFrame("Reception"); fenetre.setSize(320, 280); fenetre.getContentPane().add( p.getVisualComponent()); fenetre.setVisible(true); fenetre.setLocation(100,0); }
//Demarrage du Player p.start();
label1.setText("Flux video recu");
} catch (NoPlayerException e) {}
catch (CannotRealizeException e) {}
catch (IOException e) {}
}
} });
System.out.println("Client demarre");
}
}//class
et pou bien fonctioner demarer le Recepteur puis l'Emeteur:
|
|
mercredi 23 août 2006 à 18:38:58 |
Re : [JMF][RTPManager] probleme de transmission ou de reception de video
|
Cette discussion est classée dans : public, system, out, println, webcamcessor
Répondre à ce message
Sujets en rapport avec ce message
URGENT!!! Problème avec applets et jdbc [ par PhilippeA ]
Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a
Problème APPLET JDBC ACCESS [ par PhilippeA ]
Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a
Problème APPLET JDBC ACCESS [ par PhilippeA ]
Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a
Problème APPLET JDBC ACCESS [ par PhilippeA ]
Bonjour,voilà j'ai créer un fichier java me permettant d'accéder à une base access. Ca marche. Mais il faut que je passe ce fichier en applet donc j'a
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
Problème avec les Sockets [ par hisse ]
import java.net.*;import java.io.*; public class Client extends Thread{ Socket socket; BufferedReader in; PrintWriter out; public Client(){ try{
pb Keylistener [ par lenneth666 ]
punaiz jdevien fou, j'ai regardé plein de tutoriaux sur lé keylistener et ca ne marche pas. Voici mon code public class Chenille extends JFrame imp
Reseau et internet [ par 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 fich
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
Help Me SVP [ par Big cent ]
Bon voilà mon code://Classe Principalimport java.util.*;import java.io.*; public class Principale{ static Enseignant tab_ens[] = new Enseignant
Livres en rapport
|
Derniers Blogs
[MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ![MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ! par redo
La Preview de Windows Explorer 9 est maintenant disponible à l'adresse suivante : http://ie.microsoft.com/testdrive/ Cette version ne nécessite pas un redémarrage de votre machine pour être exploitée . Cette version est fonctionnelle mais reste cependant ...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Forum
MODIFICATIONMODIFICATION par bebemyouler
Cliquez pour lire la suite par bebemyouler CLIENT SIPCLIENT SIP par sisisousou
Cliquez pour lire la suite par sisisousou
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
Comparez les prix

HTC Hero
Entre 550€ et 550€
|