Problème d'envoie String via Socket
wilnzi
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour à tous,
Je m'appelle Wilfried et j'ai un véritable problème avec l'envoie d'un String via des sockets.
Avant de continuer, voici les différents codes que j'utilise :
Client :
Serveur :
Et à la reception voici ce que j'obtiens :
Client: ?? ♣@
Serveur : ?? ♣@sorelle
Je ne sais vraiment plus que faire!!
SVP AIDEZ MOI!!
Je m'appelle Wilfried et j'ai un véritable problème avec l'envoie d'un String via des sockets.
Avant de continuer, voici les différents codes que j'utilise :
Client :
package org.wilnzi.request;
import java.io.*;
import java.util.*;
import java.net.*;
public class Server {
private String initialMessage;
private BufferedReader bufferedReader;
private InputStream inputStream;
private OutputStream outputStream;
private PrintWriter printWriter;
private Socket socket;
private BufferedInputStream bufferedInputStream;
private ObjectOutputStream objectOutputStream;
private byte [] data = null;
private OutputStreamWriter out;
public void Server(){
}
public void connexion(String pseudo, String password, boolean isRenew){
try{
socket = new Socket(Information.IP_ADRESS, Information.CONNEXION_PORT);
inputStream = socket.getInputStream();
outputStream = socket.getOutputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));
printWriter = new PrintWriter(new OutputStreamWriter(outputStream,"UTF-8"), true);
bufferedInputStream = new BufferedInputStream(inputStream);
objectOutputStream = new ObjectOutputStream(outputStream);
out = new OutputStreamWriter(outputStream,"UTF-8" );
if(isRenew == true){
//Old connected User
String initialMessage = bufferedReader.readLine();
System.out.println(initialMessage);
printWriter.println("@sorelle");
}else{
//New connected User
printWriter.println("Old");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
Serveur :
package org.wilnzi.clientrequest;
import org.wilnzi.development.*;
import org.wilnzi.development.mvc.*;
import org.wilnzi.information.*;
import org.wilnzi.object.*;
import java.io.*;
import java.util.*;
import java.net.*;
public class UserConnexion {
Model model;
Controller controller;
int port;
Socket socket;
public UserConnexion (int port, Model model, Controller controller){
this.model = model;
this.controller = controller;
this.port = port;
}
public UserConnexion (int port){
try{
ServerSocket serverSocket = new ServerSocket(port);
while(true){
socket = serverSocket.accept();
Thread th = new Thread (new Connexion(socket));
th.start();
}
}catch(Exception e){
e.printStackTrace();
}
}
private class Connexion implements Runnable {
private String initialMessage;
private BufferedReader bufferedReader;
private InputStream inputStream;
private OutputStream outputStream;
private PrintWriter printWriter;
private Socket socket;
private BufferedInputStream bufferedInputStream;
private ObjectOutputStream objectOutputStream;
private byte [] data = null;
public Connexion(Socket socket){
try{
this.socket = socket;
inputStream = socket.getInputStream();
outputStream = socket.getOutputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));
printWriter = new PrintWriter(new OutputStreamWriter(outputStream,"UTF-8"), true);
bufferedInputStream = new BufferedInputStream(inputStream);
objectOutputStream = new ObjectOutputStream(outputStream);
}catch(Exception e){
e.printStackTrace();
}
}
public void run(){
try{
printWriter.println("@");
initialMessage = bufferedReader.readLine();
System.out.println(initialMessage);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
Et à la reception voici ce que j'obtiens :
Client: ?? ♣@
Serveur : ?? ♣@sorelle
Je ne sais vraiment plus que faire!!
SVP AIDEZ MOI!!
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Problème d'envoie String via Socket
- Via michelin carte - Télécharger - Transports & Cartes
- Envoie impossible messenger - Forum Facebook Messenger
- ViaMichelin - Télécharger - Transports & Cartes
- Impossible d'envoyer un message sur Messenger - Forum Facebook Messenger
- Partager des photos via un lien - Guide
1 réponse
Bonjour,
On ne peut pas tester ton code vu qu'il est incomplet (à cause des import org.wilnzi) mais ce code est très compliqué pour envoyer juste un String...
Voici un exemple de transfert de deux flux Input/OutputStream, l'exemple est avec un FileInput/OutputStream mais c'est facilement modifiable, par exemple avec un DataInput/OutputStream dans ton cas :
https://forums.commentcamarche.net/forum/affich-22960561-envoi-des-fichiers-par-des-sockets-java#3
On ne peut pas tester ton code vu qu'il est incomplet (à cause des import org.wilnzi) mais ce code est très compliqué pour envoyer juste un String...
Voici un exemple de transfert de deux flux Input/OutputStream, l'exemple est avec un FileInput/OutputStream mais c'est facilement modifiable, par exemple avec un DataInput/OutputStream dans ton cas :
https://forums.commentcamarche.net/forum/affich-22960561-envoi-des-fichiers-par-des-sockets-java#3