Rechercher : dans
Par :

Connexion TCP JAVA

Dernière réponse le 11 aoû 2007 à 02:19:06 ibma, le 9 aoû 2007 à 21:55:16 
 Signaler ce message aux modérateurs

Bonjour
je suis en train de programmer en utilisant le langage JAVA, trois applications inter connectées entre elles, en mode connecté, c'est à dire en utilisant la connexion TCP.
je voudrai savoir que si c'est normal lorsque une application (station émettrice ) envoie une information de la taille de 50 Kilo Octets, et que la durée de l'envoi est presque instantanée, mais la durée de réception de cette même information par une autre application (station réceptrice ), dure 2 secondes ou un peut plus??? sachant que j'utilise une seule machine (un seul ordinateur ) et par contre une seule carte réseau et une adresse LOUPBACK ( adresse de boucle ) pour tester tout cela.
merci de bien vouloir me répondre.

Configuration: Windows XP
Firefox 2.0.0.6

Meilleures réponses pour « connexion TCP JAVA » dans :
[Windows XP] SP2 - Astuces et conseils VoirQue vous ayez installé vous-mêmes la mise à jour SP2, ou que votre version de Windows soit directement une SP2, vous pouvez découvrir que certains logiciels ne fonctionnent plus ou mal ! 1 - Précisions générales 2 - Compatibilités...
Le protocole TCP VoirLes caractéristiques du protocole TCP TCP (qui signifie Transmission Control Protocol, soit en français: Protocole de Contrôle de Transmission) est un des principaux protocoles de la couche transport du modèle TCP/IP. Il permet, au niveau des...
Connexion à la base de données avec JDBC VoirConnexion à la base de données L'API (Application Programming Interface) JDBC, c'est-à-dire la bibliothèque de classes JDBC, se charge de trois étapes indispensables à la connexion à une base de données : la création d'une connexion à la...
Netstat VoirIntroduction à Netstat Netstat est un outil permettant de connaître connexions TCP actives sur la machine sur laquelle la commande et activée et ainsi lister l'ensemble des ports TCP et UDP ouverts sur l'ordinateur. La commande « netstat »...

1

Spearhead, le 9 aoû 2007 à 22:04:16

Ce n'est pas normal, quelque chose cloche dans ton code, moi je n'ai jamais rencontré ce probleme !

Répondre à Spearhead

2

ibma, le 10 aoû 2007 à 01:13:43

Bonjour
pouvez vous me donner un exemple écrit en java de deux stations, une émettrice et l'autre réceptrice de données en utilisant une connexion TCP????
merci

Répondre à ibma

3

Spearhead, le 10 aoû 2007 à 01:25:32
  • +1

Voici un exemple avec deux fichiers, qui s'appel a tort serveur et client mais tous les deux échanges des données a tour de role, l'un envoi la date et l'autre le mot "test" ... a lancer simulatnément dans deux instances différentes, ce sont mes fichiers de TP d'IUT donc faut etre indulgent sur le code lol je n'ai pas le temps d'y regarder en détails

===================================

serveur.java

===================================

package I6.TP3;

import java.io.BufferedReader;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Date;
import java.io.PrintStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.BufferedWriter;

public class Serveur {

/** Creates a new instance of Reception */
public static void reception() {
int port = 40000;
try {
ServerSocket ecoute = new ServerSocket(port);
while(true){
Socket echange = ecoute.accept();



Date dat = new Date();
PrintStream stream = new PrintStream(echange.getOutputStream());
stream.println(dat.toString());

InputStreamReader stream2 = new InputStreamReader(echange.getInputStream());
BufferedReader buf2 = new BufferedReader(stream2);
System.out.println(buf2.readLine());

System.out.println(echange.getInetAddress().getHostAddress());
buf2.close();
}

} catch (SocketException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}


}
public static void main(String [] argv) {

reception();
}
}


======================================

client.java


======================================

package I6.TP3;
import java.io.IOException;
import java.net.Socket;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.BufferedWriter;
import java.io.*;
import java.io.PrintStream;
/**
*
* @author SpeaRHeaD
*/
public class Client {

public static void emission(){
int port = 40000;
InetAddress adr;
try {
adr = InetAddress.getByName("127.0.0.1");
Socket soket = new Socket(adr,port);



InputStreamReader stream = new InputStreamReader(soket.getInputStream());
BufferedReader buf2 = new BufferedReader(stream);
System.out.println(buf2.readLine());

PrintStream stream2 = new PrintStream(soket.getOutputStream());
stream2.println("test");

stream2.close();

soket.close();

} catch (UnknownHostException ex) {
ex.printStackTrace();
}
catch (SocketException ex) {
ex.printStackTrace();
}
catch (IOException ex) {
ex.printStackTrace();
}

}


public static void main(String [] argv) {
emission();

}

}

Répondre à Spearhead

4

ibma, le 10 aoû 2007 à 02:10:14

Bonjour
merci de votre réponse et votre gentillesse de m'avoir donné ce code.
j'ai fait exactement la même chose mais en envoyant 50 Kilo Octets d'information. j'ai mis une boucle, à l'intérieur de cette boucle, j'ai mis un code qui consiste à envoyer une chaine de caractère de 255 octets, parce que la socket à une capacité de 255 octets. bein j'ai toujours le même problème.
si vous voulez, je peux vous donner le code des deux applications (émettrice et réceptrice).
merci.

Répondre à ibma

5

ibma, le 11 aoû 2007 à 01:58:36
  • +1

Bonjour
est qu'il aurait un problème de paramétrage de la carte réseau pour booster le débit?????????
merci

Répondre à ibma

6

Tr0yL, le 11 aoû 2007 à 02:01:21

Tu te trompes le buffer de reception ou d'émission d'un socket par défaut de la pile TCP/IP a une taille 65535 octets ( représenté par les macros : SO_RCVBUF et SO_SNDBUF )

Répondre à Tr0yL

7

 ibma, le 11 aoû 2007 à 02:19:06

Bonjour
vous pouvez me dire comment je vais faire pour savoir si la taille de la socket est vraiment 65535??
merci

Répondre à ibma
Collection CommentÇaMarche.net