Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNEXION SERVEUR VIA PROXY EN JAVA


Information sur la source

Catégorie :Reseaux et Internet Classé sous : java, serveur, proxy, cllient, internet Niveau : Débutant Date de création : 04/11/2008 Date de mise à jour : 13/11/2008 09:10:01 Vu / téléchargé: 3 457 / 493

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

créer une petite application   client/serveur en java qui permet de  filtrer les adresses IP,et faire des stats dessus et surveiller le trafic entre le client et le serveur.
 

Source

  • 1er classe Serveur:(1/3)
  • import java.net.*;
  • import java.awt.Container;
  • import java.awt.Dimension;
  • import java.awt.event.ActionEvent;
  • import java.awt.event.ActionListener;
  • import java.io.*;
  • import javax.swing.JButton;
  • import javax.swing.JFrame;
  • import javax.swing.JLabel;
  • import javax.swing.JPasswordField;
  • import javax.swing.JTextField;
  • import com.sun.media.sound.Toolkit;
  • public class ThreadClient extends JFrame implements Runnable{
  • private Thread _t; // contiendra le thread du client
  • public Socket _socket; // recevra le socket liant au client
  • private PrintWriter _out; // pour gestion du flux de sortie
  • private BufferedReader _in; // pour gestion du flux d'entrée
  • private Serveur _Serveur; // pour utilisation des méthodes de la classe principale
  • private int _numClient=0; // contiendra le numéro de client géré par ce thread
  • boolean flag=false;
  • ThreadClient(Serveur s,Socket ss){
  • this._Serveur=s;
  • this._socket=ss;
  • try {
  • _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
  • _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
  • System.out.print("nouvelle connexion avec --> "+_socket.getInetAddress()+" -- ");
  • _numClient = _Serveur.addClient(_out);
  • }
  • catch(IOException e){
  • e.setStackTrace(null);
  • }
  • _t=new Thread(this);
  • _t.start();
  • }
  • public void run() {
  • String message = "";
  • System.out.println("no "+(_numClient+1));
  • try{
  • _out.println("HTTP/1.1 200 OK");
  • _out.println("Server: myServer/4.7");
  • _out.println("Date: 12/02/1986");
  • _out.println("Content-type: text/html");
  • _out.println("");
  • _out.println("vous etes : "+(_numClient+1)+" Connectes sur le serveur");
  • _out.println("<html><div style=\"background-color:red;text-align:center;\"><a href=\"programe.java\">hello everybody</a></div></html>");
  • //On recupere les information du client
  • String line=_in.readLine();
  • int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
  • int i2=line.lastIndexOf(" ");
  • String mes=line.substring(i1+2,i2);
  • System.out.println("Le client numero :"+(_numClient+1)+" a demander :"+mes);
  • _out.println("\n");
  • _out.println("vous demandez : "+mes);
  • _out.flush();
  • // _out.close();
  • }
  • catch(Exception e){
  • e.setStackTrace(null);
  • }
  • // _out.close();
  • /* try{
  • String line=_in.readLine();
  • int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
  • int i2=line.lastIndexOf(" ");
  • String mes=line.substring(i1+2,i2);
  • System.out.println(mes);
  • int nn=0;
  • while(nn<50){
  • sendMsg(mes);
  • nn++;
  • }
  • /*while(flag==false){//tant que ya des ligne je lis
  • if(mes.equals("\n")) {
  • flag=true;
  • break;//pour detecter la fin des lignes
  • }
  • if(mes.equals("\r")) {
  • flag=true;
  • break;//ya des brother qui utilise plin de truk pr fin de fichier
  • }
  • if(mes.equals("\r\n")){
  • flag=true;
  • break;
  • }
  • if(mes.equals("")){
  • flag=true;
  • break;
  • }
  • /*BufferedReader theFile=new BufferedReader(new InputStreamReader(new FileInputStream("g.html")));//pour ouvrir le fichier html et le parcourir en entier
  • String ll;
  • ll=theFile.readLine();
  • System.out.println("je lis le fichier "+ll);
  • _out.println("<html><div style=\"background-color:red;text-align:center;\">hello everybody</html>");
  • _out.flush();
  • while(ll!=null){
  • _out.println(ll);
  • ll=theFile.readLine();
  • }
  • flag=true;
  • }
  • // _out.println("<html><div style=\"background-color:red;text-align:center;\">vous etes :"+_numClient+"</html>");
  • //_out.flush();
  • }
  • catch(Exception e){
  • }
  • */
  • }
  • public void sendMsg (String sMsg){
  • _out.write(sMsg);
  • _out.flush();
  • }
  • }
  • /*
  • class Dial extends JFrame implements ActionListener,Runnable{
  • private JButton okBouton;
  • private JTextField login;
  • private JPasswordField pass;
  • private JLabel log,passs;
  • private boolean ok;
  • private Serveur _serv;
  • private Socket _socket;
  • private Thread _t;
  • Dial(){
  • setTitle("Proxy de mohamed");
  • setSize(330,200);
  • Container contenu=getContentPane();
  • contenu.setLayout(null);
  • log=new JLabel("Login");log.setBounds(20, 50, 50, 20);contenu.add(log);
  • JTextField login=new JTextField();login.setBounds(100,50 , 150, 20);contenu.add(login);
  • okBouton=new JButton("Connexion");
  • okBouton.setBounds(100,120,100, 20);
  • contenu.add(okBouton);
  • okBouton.addActionListener(this);
  • }
  • public void actionPerformed(ActionEvent e) {
  • try{
  • if(e.getSource()==okBouton){
  • String name=login.getText();
  • //Dial.setVisible(false);
  • }
  • }
  • catch(Exception ee){
  • ee.setStackTrace(null);
  • }
  • }
  • public void run() {
  • System.out.println("ddd");
  • new ThreadClient(_serv,_socket);
  • }
  • }
  • 2eme classe Proxy(2/3)
  • import java.net.*;
  • import java.util.LinkedList;
  • import java.awt.Container;
  • import java.awt.Dimension;
  • import java.awt.FlowLayout;
  • import java.awt.Toolkit;
  • import java.awt.event.ActionEvent;
  • import java.awt.event.ActionListener;
  • import java.io.*;
  • import javax.swing.JButton;
  • import javax.swing.JDialog;
  • import javax.swing.JFrame;
  • import javax.swing.JLabel;
  • import javax.swing.JPasswordField;
  • import javax.swing.JTextField;
  • /*------------------------Je lance un proxy pour chaque nouveau connecté------------------------------------------------*/
  • /*------------------------------------------------------------------------------------*/
  • public class Proxy implements Runnable{
  • private Serveur _serv;
  • private Socket _socket;
  • private Thread _t;
  • private PrintWriter _out; // pour gestion du flux de sortie
  • private BufferedReader _in;
  • private String[] IP;//pou recuper les IP permis
  • /*dans adresseInterdite je met l'adresse IP des gens que je veux pas qu il accede sur mon serveur-------*/
  • //private String adresseInterdite="/127.0.0.1";
  • /*-------------------------Constructeur qui pren le serveur et le socket du client-------------------------------------*/
  • Proxy(Serveur s,Socket ss,String[] ip){
  • this._serv=s;
  • this._socket=ss;
  • this.IP=ip;
  • try{
  • _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
  • _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
  • System.out.println("on est ds le proxy");
  • }
  • catch(Exception e){
  • }
  • /*-----------------------------pour chaque client je lance un thread client apres filtrage-------------------------------------*/
  • _t=new Thread(this);
  • _t.start();
  • }
  • /*--------------------------------Lancement du tread pour chaque client------------------------------------*/
  • public void run() {
  • /*IpClient est l adresse IP du client qui s est connecté*/
  • InetAddress IpClient= _socket.getInetAddress();
  • /*Je transforme cette adress ip en string pour la comparer avec les IP Interdit*/
  • String IpClientS=IpClient.toString();
  • System.out.println("IP du client ---> : "+IpClientS);
  • for(int i=0;i<IP.length;i++){
  • if (IP[i].equalsIgnoreCase(IpClientS)){
  • //si je rentre C.A.D mon ip a le droit d y acceder
  • System.out.println("Acces autorisé");
  • new ThreadClient(_serv,_socket);
  • break;
  • }
  • }
  • }
  • }
  • 3eme classe Client(3/3)
  • import java.net.*;
  • import java.awt.Container;
  • import java.awt.Dimension;
  • import java.awt.event.ActionEvent;
  • import java.awt.event.ActionListener;
  • import java.io.*;
  • import javax.swing.JButton;
  • import javax.swing.JFrame;
  • import javax.swing.JLabel;
  • import javax.swing.JPasswordField;
  • import javax.swing.JTextField;
  • import com.sun.media.sound.Toolkit;
  • public class ThreadClient extends JFrame implements Runnable{
  • private Thread _t; // contiendra le thread du client
  • public Socket _socket; // recevra le socket liant au client
  • private PrintWriter _out; // pour gestion du flux de sortie
  • private BufferedReader _in; // pour gestion du flux d'entrée
  • private Serveur _Serveur; // pour utilisation des méthodes de la classe principale
  • private int _numClient=0; // contiendra le numéro de client géré par ce thread
  • boolean flag=false;
  • ThreadClient(Serveur s,Socket ss){
  • this._Serveur=s;
  • this._socket=ss;
  • try {
  • _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
  • _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
  • System.out.print("nouvelle connexion avec --> "+_socket.getInetAddress()+" -- ");
  • _numClient = _Serveur.addClient(_out);
  • }
  • catch(IOException e){
  • e.setStackTrace(null);
  • }
  • _t=new Thread(this);
  • _t.start();
  • }
  • public void run() {
  • String message = "";
  • System.out.println("no "+(_numClient+1));
  • try{
  • _out.println("HTTP/1.1 200 OK");
  • _out.println("Server: myServer/4.7");
  • _out.println("Date: 12/02/1986");
  • _out.println("Content-type: text/html");
  • _out.println("");
  • _out.println("vous etes : "+(_numClient+1)+" Connectes sur le serveur");
  • _out.println("<html><div style=\"background-color:red;text-align:center;\"><a href=\"programe.java\">hello everybody</a></div></html>");
  • //On recupere les information du client
  • String line=_in.readLine();
  • int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
  • int i2=line.lastIndexOf(" ");
  • String mes=line.substring(i1+2,i2);
  • System.out.println("Le client numero :"+(_numClient+1)+" a demander :"+mes);
  • _out.println("\n");
  • _out.println("vous demandez : "+mes);
  • _out.flush();
  • // _out.close();
  • }
  • catch(Exception e){
  • e.setStackTrace(null);
  • }
  • // _out.close();
  • /* try{
  • String line=_in.readLine();
  • int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
  • int i2=line.lastIndexOf(" ");
  • String mes=line.substring(i1+2,i2);
  • System.out.println(mes);
  • int nn=0;
  • while(nn<50){
  • sendMsg(mes);
  • nn++;
  • }
  • /*while(flag==false){//tant que ya des ligne je lis
  • if(mes.equals("\n")) {
  • flag=true;
  • break;//pour detecter la fin des lignes
  • }
  • if(mes.equals("\r")) {
  • flag=true;
  • break;//ya des brother qui utilise plin de truk pr fin de fichier
  • }
  • if(mes.equals("\r\n")){
  • flag=true;
  • break;
  • }
  • if(mes.equals("")){
  • flag=true;
  • break;
  • }
  • /*BufferedReader theFile=new BufferedReader(new InputStreamReader(new FileInputStream("g.html")));//pour ouvrir le fichier html et le parcourir en entier
  • String ll;
  • ll=theFile.readLine();
  • System.out.println("je lis le fichier "+ll);
  • _out.println("<html><div style=\"background-color:red;text-align:center;\">hello everybody</html>");
  • _out.flush();
  • while(ll!=null){
  • _out.println(ll);
  • ll=theFile.readLine();
  • }
  • flag=true;
  • }
  • // _out.println("<html><div style=\"background-color:red;text-align:center;\">vous etes :"+_numClient+"</html>");
  • //_out.flush();
  • }
  • catch(Exception e){
  • }
  • */
  • }
  • public void sendMsg (String sMsg){
  • _out.write(sMsg);
  • _out.flush();
  • }
  • }
  • /*
  • class Dial extends JFrame implements ActionListener,Runnable{
  • private JButton okBouton;
  • private JTextField login;
  • private JPasswordField pass;
  • private JLabel log,passs;
  • private boolean ok;
  • private Serveur _serv;
  • private Socket _socket;
  • private Thread _t;
  • Dial(){
  • setTitle("Proxy de mohamed");
  • setSize(330,200);
  • Container contenu=getContentPane();
  • contenu.setLayout(null);
  • log=new JLabel("Login");log.setBounds(20, 50, 50, 20);contenu.add(log);
  • JTextField login=new JTextField();login.setBounds(100,50 , 150, 20);contenu.add(login);
  • okBouton=new JButton("Connexion");
  • okBouton.setBounds(100,120,100, 20);
  • contenu.add(okBouton);
  • okBouton.addActionListener(this);
  • }
  • public void actionPerformed(ActionEvent e) {
  • try{
  • if(e.getSource()==okBouton){
  • String name=login.getText();
  • //Dial.setVisible(false);
  • }
  • }
  • catch(Exception ee){
  • ee.setStackTrace(null);
  • }
  • }
  • public void run() {
  • System.out.println("ddd");
  • new ThreadClient(_serv,_socket);
  • }
  • }
  • */
1er classe Serveur:(1/3)

import java.net.*;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.sun.media.sound.Toolkit;

public class ThreadClient extends JFrame implements Runnable{

	  private 		Thread		 		_t; // contiendra le thread du client
	  public 		Socket 				_socket; // recevra le socket liant au client
	  private 		PrintWriter 		_out; // pour gestion du flux de sortie
	  private 		BufferedReader 		_in; // pour gestion du flux d'entrée
	  private 		Serveur 			_Serveur; // pour utilisation des méthodes de la classe principale
	  private 		int 				_numClient=0; // contiendra le numéro de client géré par ce thread
	  boolean 		flag=false;
	
	  ThreadClient(Serveur s,Socket ss){
			  this._Serveur=s;
			  this._socket=ss;
			  try {
				  
				  _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
				  _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
				  System.out.print("nouvelle connexion avec -->   "+_socket.getInetAddress()+"   -- ");
				  _numClient =  _Serveur.addClient(_out);
				  
			  }
			  catch(IOException e){
				e.setStackTrace(null);  
			  }
			 
			  _t=new Thread(this);
			  _t.start();
		  
		  
	  }
	  public void run() {
		  String message = "";
		  System.out.println("no "+(_numClient+1));
		  try{
			  	_out.println("HTTP/1.1 200 OK");
 				_out.println("Server: myServer/4.7");
 				_out.println("Date: 12/02/1986");
 				_out.println("Content-type: text/html");
 				_out.println("");
			    _out.println("vous etes : "+(_numClient+1)+" Connectes sur le serveur");
			    _out.println("<html><div style=\"background-color:red;text-align:center;\"><a href=\"programe.java\">hello everybody</a></div></html>");
			  
			  
			  
			  //On recupere les information du client
			  String line=_in.readLine();
			  int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
			  int i2=line.lastIndexOf(" ");
			  String mes=line.substring(i1+2,i2);
			  System.out.println("Le client  numero :"+(_numClient+1)+" a demander :"+mes);
			  _out.println("\n");
			  _out.println("vous demandez : "+mes);
			  _out.flush();
			// _out.close();
		  }
		  catch(Exception e){
			  e.setStackTrace(null);
		  }
		 // _out.close();
		 /* try{
			  
 			
			  String line=_in.readLine();
			  int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
			  int i2=line.lastIndexOf(" ");
			  String mes=line.substring(i1+2,i2);
			  System.out.println(mes);
			  int nn=0;
			  while(nn<50){
				  sendMsg(mes);
				  nn++;
			  }
			  /*while(flag==false){//tant que ya des ligne je lis
					
	   				if(mes.equals("\n")) {
	   					flag=true;
	   					break;//pour detecter la fin des lignes 
	   				}
	   				if(mes.equals("\r")) {
	   					flag=true;
	   					break;//ya des brother qui utilise plin de truk pr fin de fichier
	   				}
	   				if(mes.equals("\r\n")){
	   					flag=true;
	   					break;
	   				}
	   				if(mes.equals("")){
	   					flag=true;
	   					break;
	   				}
	   		
	   		
	   				/*BufferedReader theFile=new BufferedReader(new InputStreamReader(new FileInputStream("g.html")));//pour ouvrir le fichier html et le parcourir en entier
	   				String ll;
	   				ll=theFile.readLine();
	   				System.out.println("je lis le fichier "+ll);
	   				_out.println("<html><div style=\"background-color:red;text-align:center;\">hello everybody</html>");
	   				_out.flush();
	   				while(ll!=null){
	   					_out.println(ll);
	   					ll=theFile.readLine();
	   				}
	   				flag=true;
			  }
			 // _out.println("<html><div style=\"background-color:red;text-align:center;\">vous etes :"+_numClient+"</html>");
 			  //_out.flush();
		  }
		  catch(Exception e){
			  
		  }
		*/
		
		
	}
	public void sendMsg (String sMsg){        
		
		   _out.write(sMsg);
		   _out.flush();
		}
	
	
}
/*
class Dial extends JFrame implements ActionListener,Runnable{
	

	private JButton okBouton;
	private JTextField login;
	private JPasswordField pass;
	private JLabel log,passs;
	private boolean ok;
	private			Serveur 			_serv;
	private 		Socket 				_socket;
	private 		Thread		 		_t;
	Dial(){
	
		setTitle("Proxy de mohamed");
		setSize(330,200);
		
	    
	    Container contenu=getContentPane();
	    contenu.setLayout(null);
		
		
	    log=new JLabel("Login");log.setBounds(20, 50, 50, 20);contenu.add(log);
	    JTextField login=new JTextField();login.setBounds(100,50 , 150, 20);contenu.add(login);
	    
	    
	    okBouton=new JButton("Connexion");
		okBouton.setBounds(100,120,100, 20);
		contenu.add(okBouton);
	
		okBouton.addActionListener(this);
		
	}

	public void actionPerformed(ActionEvent e) {
		try{
			if(e.getSource()==okBouton){
				
				String name=login.getText();
			
				
				//Dial.setVisible(false);
			}
		}
		catch(Exception ee){
			ee.setStackTrace(null);
		}
		
	}

	public void run() {
		System.out.println("ddd");
		new ThreadClient(_serv,_socket);
		
	}

	
	
	
}



2eme classe Proxy(2/3)

import java.net.*;
import java.util.LinkedList;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;


/*------------------------Je lance un proxy pour chaque nouveau connecté------------------------------------------------*/
/*------------------------------------------------------------------------------------*/
public class Proxy implements Runnable{

	private			Serveur 			_serv;
	private 		Socket 				_socket;
	private 		Thread		 		_t;
	private 		PrintWriter 		_out; // pour gestion du flux de sortie
	private 		BufferedReader 		_in;
	private 		String[]   			IP;//pou recuper les IP permis
	
 	/*dans adresseInterdite je met l'adresse IP des gens que je veux pas qu il accede sur mon serveur-------*/
	
	//private String	adresseInterdite="/127.0.0.1";
	

/*-------------------------Constructeur qui pren le serveur et le socket du client-------------------------------------*/	
	Proxy(Serveur s,Socket ss,String[] ip){
		this._serv=s;
		this._socket=ss;
		this.IP=ip;
		try{
			
			  _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
			  _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
			  System.out.println("on est ds le proxy");
		}
		catch(Exception e){
			
		}

/*-----------------------------pour chaque client je lance un thread client apres filtrage-------------------------------------*/		
		 _t=new Thread(this);
		 _t.start();
		
	}

	

/*--------------------------------Lancement du tread pour chaque client------------------------------------*/
	public void run() {
		/*IpClient est l adresse IP du client qui s est connecté*/
		InetAddress IpClient= _socket.getInetAddress();
		/*Je transforme cette adress ip en string pour la comparer avec les IP Interdit*/
		String IpClientS=IpClient.toString();
		
		System.out.println("IP du client ---> : "+IpClientS);
		
		for(int i=0;i<IP.length;i++){
				if (IP[i].equalsIgnoreCase(IpClientS)){
					//si je rentre C.A.D mon ip a le droit d y acceder
					System.out.println("Acces autorisé");
					new ThreadClient(_serv,_socket);
					break;
				}
		}
		
}
	
}


3eme classe Client(3/3)

import java.net.*;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.sun.media.sound.Toolkit;

public class ThreadClient extends JFrame implements Runnable{

	  private 		Thread		 		_t; // contiendra le thread du client
	  public 		Socket 				_socket; // recevra le socket liant au client
	  private 		PrintWriter 		_out; // pour gestion du flux de sortie
	  private 		BufferedReader 		_in; // pour gestion du flux d'entrée
	  private 		Serveur 			_Serveur; // pour utilisation des méthodes de la classe principale
	  private 		int 				_numClient=0; // contiendra le numéro de client géré par ce thread
	  boolean 		flag=false;
	
	  ThreadClient(Serveur s,Socket ss){
			  this._Serveur=s;
			  this._socket=ss;
			  try {
				  
				  _out = new PrintWriter(new BufferedOutputStream(_socket.getOutputStream()));
				  _in = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
				  System.out.print("nouvelle connexion avec -->   "+_socket.getInetAddress()+"   -- ");
				  _numClient =  _Serveur.addClient(_out);
				  
			  }
			  catch(IOException e){
				e.setStackTrace(null);  
			  }
			 
			  _t=new Thread(this);
			  _t.start();
		  
		  
	  }
	  public void run() {
		  String message = "";
		  System.out.println("no "+(_numClient+1));
		  try{
			  	_out.println("HTTP/1.1 200 OK");
 				_out.println("Server: myServer/4.7");
 				_out.println("Date: 12/02/1986");
 				_out.println("Content-type: text/html");
 				_out.println("");
			    _out.println("vous etes : "+(_numClient+1)+" Connectes sur le serveur");
			    _out.println("<html><div style=\"background-color:red;text-align:center;\"><a href=\"programe.java\">hello everybody</a></div></html>");
			  
			  
			  
			  //On recupere les information du client
			  String line=_in.readLine();
			  int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
			  int i2=line.lastIndexOf(" ");
			  String mes=line.substring(i1+2,i2);
			  System.out.println("Le client  numero :"+(_numClient+1)+" a demander :"+mes);
			  _out.println("\n");
			  _out.println("vous demandez : "+mes);
			  _out.flush();
			// _out.close();
		  }
		  catch(Exception e){
			  e.setStackTrace(null);
		  }
		 // _out.close();
		 /* try{
			  
 			
			  String line=_in.readLine();
			  int i1=line.indexOf(" ");//renvoi lindice de la prmeir position
			  int i2=line.lastIndexOf(" ");
			  String mes=line.substring(i1+2,i2);
			  System.out.println(mes);
			  int nn=0;
			  while(nn<50){
				  sendMsg(mes);
				  nn++;
			  }
			  /*while(flag==false){//tant que ya des ligne je lis
					
	   				if(mes.equals("\n")) {
	   					flag=true;
	   					break;//pour detecter la fin des lignes 
	   				}
	   				if(mes.equals("\r")) {
	   					flag=true;
	   					break;//ya des brother qui utilise plin de truk pr fin de fichier
	   				}
	   				if(mes.equals("\r\n")){
	   					flag=true;
	   					break;
	   				}
	   				if(mes.equals("")){
	   					flag=true;
	   					break;
	   				}
	   		
	   		
	   				/*BufferedReader theFile=new BufferedReader(new InputStreamReader(new FileInputStream("g.html")));//pour ouvrir le fichier html et le parcourir en entier
	   				String ll;
	   				ll=theFile.readLine();
	   				System.out.println("je lis le fichier "+ll);
	   				_out.println("<html><div style=\"background-color:red;text-align:center;\">hello everybody</html>");
	   				_out.flush();
	   				while(ll!=null){
	   					_out.println(ll);
	   					ll=theFile.readLine();
	   				}
	   				flag=true;
			  }
			 // _out.println("<html><div style=\"background-color:red;text-align:center;\">vous etes :"+_numClient+"</html>");
 			  //_out.flush();
		  }
		  catch(Exception e){
			  
		  }
		*/
		
		
	}
	public void sendMsg (String sMsg){        
		
		   _out.write(sMsg);
		   _out.flush();
		}
	
	
}
/*
class Dial extends JFrame implements ActionListener,Runnable{
	

	private JButton okBouton;
	private JTextField login;
	private JPasswordField pass;
	private JLabel log,passs;
	private boolean ok;
	private			Serveur 			_serv;
	private 		Socket 				_socket;
	private 		Thread		 		_t;
	Dial(){
	
		setTitle("Proxy de mohamed");
		setSize(330,200);
		
	    
	    Container contenu=getContentPane();
	    contenu.setLayout(null);
		
		
	    log=new JLabel("Login");log.setBounds(20, 50, 50, 20);contenu.add(log);
	    JTextField login=new JTextField();login.setBounds(100,50 , 150, 20);contenu.add(login);
	    
	    
	    okBouton=new JButton("Connexion");
		okBouton.setBounds(100,120,100, 20);
		contenu.add(okBouton);
	
		okBouton.addActionListener(this);
		
	}

	public void actionPerformed(ActionEvent e) {
		try{
			if(e.getSource()==okBouton){
				
				String name=login.getText();
			
				
				//Dial.setVisible(false);
			}
		}
		catch(Exception ee){
			ee.setStackTrace(null);
		}
		
	}

	public void run() {
		System.out.println("ddd");
		new ThreadClient(_serv,_socket);
		
	}

	
	
	
}
*/

Conclusion

vous pouvez rajouter plusieurs fonctionnalités ,ce code est juste une base qui marche bien mais il faut rajouter vos propres fonctions.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   mohamed haman
    • .classpathTélécharger ce fichier [Réservé aux membres club]232 octets
    • .projectTélécharger ce fichier [Réservé aux membres club]394 octets
    •   bin
      • Proxy.classTélécharger ce fichier [Réservé aux membres club]2 109 octets
      • Serveur.classTélécharger ce fichier [Réservé aux membres club]1 721 octets
      • ThreadClient.classTélécharger ce fichier [Réservé aux membres club]3 196 octets
    •   src

Télécharger le zip

Historique

13 novembre 2008 09:10:01 :
j ai fait une erreur

Commentaires et avis

signaler à un administrateur
Commentaire de mastraze le 10/03/2009 10:01:14 6/10

Bonjour,
Je voulais savoir si votre code ne contienne pas des erreurs ou il soit exécutable puisque j'ai trouvé un problème avec le thread dans la classe ThreadClient..
Merci de vérifier ça et merci d'avance pour votre effort...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Java & Internet explorer [ par macros ] Bonjour a tousVoila mon probleme :J'essaie de coder un proxy en java simple....Mais voila j'utilise les sockets et les threads.A chaque connection le Applet et internet [ par Batbihirulau ] Bonjour a tous,Nouveau venu dans la sphere java, je progresse mais je trebuche aussi. Voici ma derniere gamelle:J'ai develppé un applet java que j'ins Serveur java sous linux [ par Manazeljah ] Bonjour,J'ai &#233;crit un serveur en java et j'aimerai le faire tourner sous linux en tant que daemon. J'ai d&#233;j&#224; r&#233;ussi ant&#233;rieur java.awt.HeadlessException [ par vbgarage ] Bonjour,TOMCAT me renvoie l'erreur suivante : java.awt.HeadlessException, lorsque je déploie mon appli JAVA sur le serveur UNIX de prod alors que sur Application Client/Serveur FTP en Java [ par medalihentati ] Salut!Aidez moi!!!J'ai un travail à rendre qui consiste en une application Client/Serveur FTP  (Java)(avec une interface pour le client et une autre p Utiliser un proxy avec java [ par jeje11991 ] Bonjour,J'aimerais que les liens auquelles les applications java essaye de se connecter passe par mon proxy, j'ai essayer dans demarer &gt; panneau de app d'ecoute de serveur en java [ par eclipse2007 ] bonsoir je réalise une application qui traite du flux xml venant d'un serveur,j'ai cherché mais sans succé les commandes serveur Socket [ par fx9200 ] Bonjour j'essaie de faire fonctionner un socket en tant que serveurla compilation s'chève avec succésun message lors de l'exécution s'affiche:-------- Communication entre un serveur Web Apache/PHP/MySQL et une application Java/SWING [ par Foub ] Bonjour, je souhaite faire communiquer un serveur web Apache PHP/Mysql faisant office de serveur et une application client Java/SWING en utilisant des thread en java [ par monaem_soft ] bonne journee ,   salut a tous ,j'ai un problème au niveau de thread en java,je fait une application monitoring qui contient un serveur.javaet des pro


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.