IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

EIdSocketError: Socket Error # 10054 Connection reset by peer.


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut EIdSocketError: Socket Error # 10054 Connection reset by peer.
    Bonjour,

    Je travaille actuellement sur une application Delphi qui communique avec un serveur.
    J'utilise pour cela le composant IDHTTP de Indy.
    La communication s'opère plutôt bien par la méthode POST jusqu'à un certain moment où je reçois l'erreur suivante :
    EIdSocketError: Socket Error # 10054
    Connection reset by peer.

    Mon objectif est d'envoyer au serveur un grand nombre d'images ainsi que des fichiers de type .txt.
    Les fichiers .txt passent très bien, mais au bout d'un certain nombre d'images (assez aléatoire, une fois j'en ai passé 10, une fois plus de 70, et une autre fois 1..), cette erreur apparaît.

    J'ai configuré mon TIdHTTP de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    with zIdHttp do
          begin
            Name := 'IdHTTP';
            AllowCookies := True;
            HandleRedirects := True;
            HTTPOptions := [hoForceEncodeParams];
            Request.Username := psUserName;
            Request.Password := psPassword;
            Request.BasicAuthentication := True;
            Request.Accept := '*/*';
            Request.ContentType := 'application/x-www-form-urlencoded'; 
            ReadTimeout := 0;
            ConnectTimeout := 0;
            Response.KeepAlive := false;
          end;
    Je n'arrive pas à voir si je loupe quelque chose, si il y a un truc que j'ai mal parametré, où si ça se passe plutôt du côté serveur ?
    Si quelqu'un pouvait m'aiguiller sur mon erreur cela pourrait m'être d'une grande aide !
    Merci !
    Manon

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 714
    Points : 25 609
    Points
    25 609
    Par défaut
    Possible que le serveur limite un nombre de requête par heure et par utilisateur !

    Essaye avec un serveur local, install un petit Wamp, tu pourras rapidement faire des essais avec !
    As-tu des contacts possibles avec le responsable de ce serveur ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Merci ShailLeTroll pour ta réponse rapide.
    Effectivement des tests en local ont bien été effectués, ça s'était très bien passé.
    Oui j'ai des contacts avec le responsable du serveur. On a essayé ensemble de voir si au niveau des LOG par rapport à mon adresse IP il pouvait voir quelque chose, mais n'a rien trouvé !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Dans le log du site, voici l'erreur qui apparaît : "(104)Connection reset by peer: Error reading request entity data".
    Nous pensons que c'est peut être dû à un paramétrage trop limité au niveau du serveur.
    Mon ami a donc ajouté dans son fichier .PHP qui est notre "moyen de communication", des ini_set sur différents paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ini_set('memory_limit','128M');
    ini_set('max_execution_time', 0); 
    ini_set('file_uploads', 'on');
    ini_set('upload_max_filesize', '1024M');
    ini_set('post_max_size','1024M');
    ini_set('max_input_time', 0);
    ini_set('session.gc_maxlifetime', 10800);
    Mais l'erreur est toujours présente.
    Si vous avez d'autres idées, elles seront les bienvenues !
    Manon

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 714
    Points : 25 609
    Points
    25 609
    Par défaut
    Sur Apache, pensez aussi à MaxClients, MaxRequestsPerChild, ThreadsPerChild, MaxKeepAliveRequests, LimitRequestBody, LimitRequestFields, LimitRequestFieldsize, LimitRequestLine ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 91
    Points : 54
    Points
    54
    Par défaut
    Salut
    tu as essayé en créant un nouveau TIdHTTP, avant chaque POST.
    puis en le libérant après.

    ce message c'est le serveur qui limite le temps de connexion.

Discussions similaires

  1. [PrestaShop] connection store manager ERREUR SOCKET 10054 connection reset by peer with SFTP
    Par ttaoussi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/08/2015, 08h32
  2. ERREUR SOCKET 10054 connection reset by peer
    Par bremer dans le forum Web & réseau
    Réponses: 4
    Dernier message: 06/07/2015, 12h12
  3. [JMeter] Socket Write Error / Connection reset by peer ..
    Par quentinbenyahia dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 28/05/2015, 18h29
  4. Delphi/Indy Erreur 10054 connection reset by peer
    Par calou_33 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 17/09/2013, 14h11
  5. Réponses: 7
    Dernier message: 07/08/2007, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo