|
|
|
|
Configuration: Windows XP Firefox 2.0.0.6
Ce n'est pas normal, quelque chose cloche dans ton code, moi je n'ai jamais rencontré ce probleme ! |
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 |
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(); } } |
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. |
bonjour
est qu'il aurait un problème de paramétrage de la carte réseau pour booster le débit????????? merci |
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 ) |
bonjour
vous pouvez me dire comment je vais faire pour savoir si la taille de la socket est vraiment 65535?? merci |