[JAVA]transfert fichier vers un pc distant
Résolu/Fermé
calaglin2
Messages postés
44
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
-
19 févr. 2007 à 21:59
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 26 janv. 2010 à 22:26
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 26 janv. 2010 à 22:26
A voir également:
- [JAVA]transfert fichier vers un pc distant
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Comment réduire la taille d'un fichier - Guide
- Test performance pc - Guide
4 réponses
calaglin2
Messages postés
44
Date d'inscription
lundi 19 février 2007
Statut
Membre
Dernière intervention
21 septembre 2009
13
20 févr. 2007 à 16:15
20 févr. 2007 à 16:15
ça y est j'ai enfin réussi à me connecter sur mon reseau ( c'était juste un problème de config du routeur ) mais je n'arrive toujours pas à me connecter à un pc distant se trouvant derrière un routeur , la connection échoue systématiquement. Voici le code de mon client :
import java.io.*;
import java.util.*;
import java.net.*;
public class Client {
static String serverName="localhost";
static int port=12345;
static InetAddress ipRoot;
static InetAddress ip;
public static void main(String[] a){
try{
iproot = InetAddress.getByName("82.67.139.165");
ip = InetAddress.getByName("192.168.0.2");
Random rand=new Random();
for(int i=0;i<100;i++){
Socket sock=new Socket(iproot, port, ip,port);
PrintWriter os=new PrintWriter(sock.getOutputStream(), true);
os.println(rand.nextInt(100));
sock.close();}
}
catch (UnknownHostException ex) {
System.err.println(ex);
}
catch(java.io.IOException e){
System.out.println("Erreur de connexion");
}
}
}
le routeur redirige son port 12345 sur le 12345 du pc
merci d'avance
import java.io.*;
import java.util.*;
import java.net.*;
public class Client {
static String serverName="localhost";
static int port=12345;
static InetAddress ipRoot;
static InetAddress ip;
public static void main(String[] a){
try{
iproot = InetAddress.getByName("82.67.139.165");
ip = InetAddress.getByName("192.168.0.2");
Random rand=new Random();
for(int i=0;i<100;i++){
Socket sock=new Socket(iproot, port, ip,port);
PrintWriter os=new PrintWriter(sock.getOutputStream(), true);
os.println(rand.nextInt(100));
sock.close();}
}
catch (UnknownHostException ex) {
System.err.println(ex);
}
catch(java.io.IOException e){
System.out.println("Erreur de connexion");
}
}
}
le routeur redirige son port 12345 sur le 12345 du pc
merci d'avance
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 févr. 2007 à 17:12
20 févr. 2007 à 17:12
salut.
Pourquoi ouvrir et fermer le socket à chaque foi dans la boucle for ?
Moi, je mettrai l'initialisation et la fermeture en dehors.
Pourquoi ouvrir et fermer le socket à chaque foi dans la boucle for ?
Moi, je mettrai l'initialisation et la fermeture en dehors.
miras1
Messages postés
7
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
31 décembre 2008
24 août 2008 à 17:19
24 août 2008 à 17:19
Bonjour,
Je vous explique mon problème :
Moi aussi je commence à développer actuellement un client et un serveur communiquent avec des socket etc ... seulement je n'arrive même pas à connecter le client au serveur sur un seul pc et encore moins à envoyer un ''hello word '' ou bien un fichiers de l'un à l'autre.
je voudrais connecter le client au serveur à l'aide de l'ip et du numero de port .
si vous pouvais m'aider avec ton code source.
Merci d'avance bien cordialement.
Je vous explique mon problème :
Moi aussi je commence à développer actuellement un client et un serveur communiquent avec des socket etc ... seulement je n'arrive même pas à connecter le client au serveur sur un seul pc et encore moins à envoyer un ''hello word '' ou bien un fichiers de l'un à l'autre.
je voudrais connecter le client au serveur à l'aide de l'ip et du numero de port .
si vous pouvais m'aider avec ton code source.
Merci d'avance bien cordialement.
Bonjour,
essayer avec ces codes
//Client
// Figure 21.4: Client.java
// Définit un Client qui lira les informations envoyées
// à partir d'un Serveur et affiche les informations.
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Client extends JFrame {
private JTextField texte;
private JTextArea affichage;
ObjectOutputStream sortie;
ObjectInputStream entree;
String message = "";
public Client()
{
super( "Client" );
Container c = getContentPane();
texte = new JTextField();
texte.setEnabled( false );
texte.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
envoyerDonnees( e.getActionCommand() );
}
}
);
c.add( texte, BorderLayout.NORTH );
affichage = new JTextArea();
c.add( new JScrollPane( affichage ),
BorderLayout.CENTER );
setSize( 300, 150 );
show();
}
public void lanceClient()
{
Socket client;
try {
// Etape 1: Créer un Socket pour assurer la connexion.
affichage.setText( "Tentative de connexion\n" );
client = new Socket(
InetAddress.getByName( "127.0.0.1" ), 5000 );
affichage.append( "Connecté à: " +
client.getInetAddress().getHostName() );
// Etape 2: Get des flux d'entrée et de sortie.
sortie = new ObjectOutputStream(
client.getOutputStream() );
sortie.flush();
entree = new ObjectInputStream(
client.getInputStream() );
affichage.append( "\nFlux d'E/S acquis\n" );
// Etape 3: Procéder à la connexion.
texte.setEnabled( true );
do {
try {
message = (String) entree.readObject();
affichage.append( "\n" + message );
affichage.setCaretPosition(
affichage.getText().length() );
}
catch ( ClassNotFoundException cnfex ) {
affichage.append(
"\nType d'objet reçu inconnu" );
}
} while ( !message.equals( "SERVEUR>>> TERMINER" ) );
// Etape 4: Clore la connexion.
affichage.append( "Clôture de la connexion.\n" );
entree.close();
sortie.close();
client.close();
}
catch ( EOFException eof ) {
System.out.println( "Serveur a clôturé la connexion" );
}
catch ( IOException e ) {
e.printStackTrace();
}
}
private void envoyerDonnees( String s )
{
try {
message = s;
sortie.writeObject( "CLIENT>>> " + s );
sortie.flush();
affichage.append( "\nCLIENT>>>" + s );
}
catch ( IOException cnfex ) {
affichage.append(
"\nErreur écriture de l'objet" );
}
}
public static void main( String args[] )
{
Client app = new Client();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
app.lanceClient();
}
}
//Serveur
// Figure 21.3: Serveur.java
// Mettre en place un serveur qui attend la connexion
// d'un client, envoie une chaîne de caractères au client,
// et ferme la connexion.
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Serveur extends JFrame {
private JTextField texte;
private JTextArea affichage;
ObjectOutputStream sortie;
ObjectInputStream entree;
public Serveur()
{
super( "Serveur" );
Container c = getContentPane();
texte = new JTextField();
texte.setEnabled( false );
texte.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
envoyerDonnees( e.getActionCommand() );
}
}
);
c.add( texte, BorderLayout.NORTH );
affichage = new JTextArea();
c.add( new JScrollPane( affichage ),
BorderLayout.CENTER );
setSize( 300, 150 );
show();
}
public void lancerServeur()
{
ServerSocket serveur;
Socket connexion;
int compteur = 1;
try {
// Etape 1: Créer un ServerSocket.
serveur = new ServerSocket( 5000, 100 );
while ( true ) {
// Etape 2: Attendre une connexion.
affichage.setText( "Attente d'une connexion\n" );
connexion = serveur.accept();
affichage.append( "Connexion " + compteur +
" reçue de: " +
connexion.getInetAddress().getHostName() );
// Etape 3: Get des flux d'entrée et de sortie.
sortie = new ObjectOutputStream(
connexion.getOutputStream() );
sortie.flush();
entree = new ObjectInputStream(
connexion.getInputStream() );
affichage.append( "\nFlux d'E/S acquis\n" );
// Etape 4: Procéder à la connexion.
String message =
"SERVEUR>>> connexion réussie";
sortie.writeObject( message );
sortie.flush();
texte.setEnabled( true );
do {
try {
message = (String) entree.readObject();
affichage.append( "\n" + message );
affichage.setCaretPosition(
affichage.getText().length() );
}
catch ( ClassNotFoundException cnfex ) {
affichage.append(
"\nType d'objet reçu inconnu" );
}
} while ( !message.equals( "CLIENT>>> TERMINER" ) );
// Etape 5: Close connexion.
affichage.append( "\nUtilisateur a clôturé connexion" );
texte.setEnabled( false );
sortie.close();
entree.close();
connexion.close();
++compteur;
}
}
catch ( EOFException eof ) {
System.out.println( "Client a clôturé connexion" );
}
catch ( IOException io ) {
io.printStackTrace();
}
}
private void envoyerDonnees( String s )
{
try {
sortie.writeObject( "SERVEUR>>> " + s );
sortie.flush();
affichage.append( "\nSERVEUR>>>" + s );
}
catch ( IOException cnfex ) {
affichage.append(
"\nErreur écriture de l'objet" );
}
}
public static void main( String args[] )
{
Serveur app = new Serveur();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
app.lancerServeur();
}
}
essayer avec ces codes
//Client
// Figure 21.4: Client.java
// Définit un Client qui lira les informations envoyées
// à partir d'un Serveur et affiche les informations.
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Client extends JFrame {
private JTextField texte;
private JTextArea affichage;
ObjectOutputStream sortie;
ObjectInputStream entree;
String message = "";
public Client()
{
super( "Client" );
Container c = getContentPane();
texte = new JTextField();
texte.setEnabled( false );
texte.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
envoyerDonnees( e.getActionCommand() );
}
}
);
c.add( texte, BorderLayout.NORTH );
affichage = new JTextArea();
c.add( new JScrollPane( affichage ),
BorderLayout.CENTER );
setSize( 300, 150 );
show();
}
public void lanceClient()
{
Socket client;
try {
// Etape 1: Créer un Socket pour assurer la connexion.
affichage.setText( "Tentative de connexion\n" );
client = new Socket(
InetAddress.getByName( "127.0.0.1" ), 5000 );
affichage.append( "Connecté à: " +
client.getInetAddress().getHostName() );
// Etape 2: Get des flux d'entrée et de sortie.
sortie = new ObjectOutputStream(
client.getOutputStream() );
sortie.flush();
entree = new ObjectInputStream(
client.getInputStream() );
affichage.append( "\nFlux d'E/S acquis\n" );
// Etape 3: Procéder à la connexion.
texte.setEnabled( true );
do {
try {
message = (String) entree.readObject();
affichage.append( "\n" + message );
affichage.setCaretPosition(
affichage.getText().length() );
}
catch ( ClassNotFoundException cnfex ) {
affichage.append(
"\nType d'objet reçu inconnu" );
}
} while ( !message.equals( "SERVEUR>>> TERMINER" ) );
// Etape 4: Clore la connexion.
affichage.append( "Clôture de la connexion.\n" );
entree.close();
sortie.close();
client.close();
}
catch ( EOFException eof ) {
System.out.println( "Serveur a clôturé la connexion" );
}
catch ( IOException e ) {
e.printStackTrace();
}
}
private void envoyerDonnees( String s )
{
try {
message = s;
sortie.writeObject( "CLIENT>>> " + s );
sortie.flush();
affichage.append( "\nCLIENT>>>" + s );
}
catch ( IOException cnfex ) {
affichage.append(
"\nErreur écriture de l'objet" );
}
}
public static void main( String args[] )
{
Client app = new Client();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
app.lanceClient();
}
}
//Serveur
// Figure 21.3: Serveur.java
// Mettre en place un serveur qui attend la connexion
// d'un client, envoie une chaîne de caractères au client,
// et ferme la connexion.
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Serveur extends JFrame {
private JTextField texte;
private JTextArea affichage;
ObjectOutputStream sortie;
ObjectInputStream entree;
public Serveur()
{
super( "Serveur" );
Container c = getContentPane();
texte = new JTextField();
texte.setEnabled( false );
texte.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
envoyerDonnees( e.getActionCommand() );
}
}
);
c.add( texte, BorderLayout.NORTH );
affichage = new JTextArea();
c.add( new JScrollPane( affichage ),
BorderLayout.CENTER );
setSize( 300, 150 );
show();
}
public void lancerServeur()
{
ServerSocket serveur;
Socket connexion;
int compteur = 1;
try {
// Etape 1: Créer un ServerSocket.
serveur = new ServerSocket( 5000, 100 );
while ( true ) {
// Etape 2: Attendre une connexion.
affichage.setText( "Attente d'une connexion\n" );
connexion = serveur.accept();
affichage.append( "Connexion " + compteur +
" reçue de: " +
connexion.getInetAddress().getHostName() );
// Etape 3: Get des flux d'entrée et de sortie.
sortie = new ObjectOutputStream(
connexion.getOutputStream() );
sortie.flush();
entree = new ObjectInputStream(
connexion.getInputStream() );
affichage.append( "\nFlux d'E/S acquis\n" );
// Etape 4: Procéder à la connexion.
String message =
"SERVEUR>>> connexion réussie";
sortie.writeObject( message );
sortie.flush();
texte.setEnabled( true );
do {
try {
message = (String) entree.readObject();
affichage.append( "\n" + message );
affichage.setCaretPosition(
affichage.getText().length() );
}
catch ( ClassNotFoundException cnfex ) {
affichage.append(
"\nType d'objet reçu inconnu" );
}
} while ( !message.equals( "CLIENT>>> TERMINER" ) );
// Etape 5: Close connexion.
affichage.append( "\nUtilisateur a clôturé connexion" );
texte.setEnabled( false );
sortie.close();
entree.close();
connexion.close();
++compteur;
}
}
catch ( EOFException eof ) {
System.out.println( "Client a clôturé connexion" );
}
catch ( IOException io ) {
io.printStackTrace();
}
}
private void envoyerDonnees( String s )
{
try {
sortie.writeObject( "SERVEUR>>> " + s );
sortie.flush();
affichage.append( "\nSERVEUR>>>" + s );
}
catch ( IOException cnfex ) {
affichage.append(
"\nErreur écriture de l'objet" );
}
}
public static void main( String args[] )
{
Serveur app = new Serveur();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
app.lancerServeur();
}
}
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
26 janv. 2010 à 22:26
26 janv. 2010 à 22:26
bonsoir
est ce que vous pouvez m'expliquer comment econnecter entre 2 pC didtant avec internet et merci d'avance
est ce que vous pouvez m'expliquer comment econnecter entre 2 pC didtant avec internet et merci d'avance