public void run()
	{
		this.Sender_enabled = true;
		int l_tmp_error_count = 0;
		
		while( this.Sender_enabled )
		{
			try {
				Send();
				Thread.sleep( this.Sender_time_wait );
				l_tmp_error_count = 0;
			}
			catch (SocketException e)
			{
				if(this.Sender_enabled)
				{
					l_tmp_error_count++;
					Logger.exception(e.toString());
				}
				else
				{
					/*ELSE in means that socket was intentionnally closed*/
				}
			}
			catch (IOException e) {
				// TODO Auto-generated catch block

				
				if( this.Sender_enabled )
				{
					Logger.exception(e.toString());
					/* IO Error, just wait a bit, network can be down */
					try {
						Thread.sleep( this.Sender_time_wait*10 );
					} catch (InterruptedException e1) {
						// TODO Auto-generated catch block
						Logger.exception(e1.toString());
					}
				}
				else
				{
					/* NOTHING TO DO SOCKET WAS INTENTIONNALLY CLOSED */
				}
				
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				Logger.exception(e.toString());
				l_tmp_error_count++;
			}
			
			if( l_tmp_error_count > 3)
			{
				/*
				 * If error count is higher than 3, stop all
				 * It means something bad occur 3 times consecutively or more
				 */
				exit();
			}
		}
	}