Programmation c sous linux

Fermé
sukhoi374 Messages postés 2 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 30 mars 2012 - 30 mars 2012 à 13:12
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 - 30 mars 2012 à 22:43
Bonjour,
j'ai un mini projet a faire en c qui consiste a créer une application client/serveur
j'ai lu beaucoup de courp sur les sockets tcp et je c qu'il permette une communication bidirectionnel mais quand je passe à l'action j'arrive pas à le faire et puis je doit faire un thread par client et pour finir plusieur client peuvent se connecter en méme temp donc j'aimerais que vous m'aidiez un peut s'il vous plais parce que la je suis totallement perdu






A voir également:

3 réponses

leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
30 mars 2012 à 15:10
je suis en train d'étudier les sockets...
et je sais comment faire la connexion entre un serveur et plusieurs clients.... amis en langage java... est-ce que ça t'aidera?
0
sukhoi374 Messages postés 2 Date d'inscription vendredi 30 mars 2012 Statut Membre Dernière intervention 30 mars 2012
30 mars 2012 à 20:24
oui allez y :) merci
0
leen.net Messages postés 212 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 14 mai 2014 13
30 mars 2012 à 22:43
je te donne un exemple:
chaque client envoie un message au serveur , et le serveur affiche le message envoyé avec le numéro du port du client qui envoie ce message:
le code du serveur:
import java.net.*;
public class ServeurE {
    public static void main(String[] args) {
        try{
    
            ServerSocket sSoc = new ServerSocket(2002);
            while(true){
                Socket inSock = sSoc.accept();
                SerThread st= new SerThread(inSock);
                st.start();
            
            }
            }
            catch(Exception e){
                System.out.println("erreur" + e.toString());
                
            }
            }
}



le code du thread:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
public class SerThread extends Thread{
    Socket soc;
     BufferedReader m;
     PrintStream ma;
     String messa;
    SerThread(Socket insec){
        soc = insec;
    }
     public void run(){
        try{
             m = new BufferedReader(new InputStreamReader(soc.getInputStream()));
             ma= new PrintStream(soc.getOutputStream());
           
            do{
                               
                 messa = m.readLine();
                 ma.println(messa);    
                 System.out.println(""+soc.getInetAddress()+soc.getPort()+messa);
                
            }while(!soc.isClosed());
        } catch(Exception e){
                System.out.println("erreur" + e.toString());}
    
}
}


le code du client(n'oublie pas dans une classe séparée):

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.*;
public class ClientE {
    public static void main(String[] args) {
         Socket appsoc;
         String message;
         BufferedOutputStream in;
         BufferedReader j;
         PrintStream a;
         try {
             appsoc = new Socket("localhost", 2002);
             in = new BufferedOutputStream(appsoc.getOutputStream());
             a= new PrintStream(appsoc.getOutputStream());
             j=  new BufferedReader(new InputStreamReader(appsoc.getInputStream()));
             do{
                  System.out.println("enter message");
             BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
             message=br.readLine();
             a.println(message);
                 
             }while(!message.equals("fin"));
            
             }catch (Exception e) {
            System.out.println("erreur" + e.toString());
           

        }
   }
}
0