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

Apache Discussion :

socket + http 1.0


Sujet :

Apache

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut socket + http 1.0
    salut tout le monde,
    je vous expose la situation:
    j'ai un script qui réalise des fonctions et qui utilise des sockets.
    ce script je l'execute sur un système embarqué qui contient comme browser "FRESCO".le problème avec celui ci c'est que il utilise le protocole http 1.0 et du cout j'ai pas mal d'erreur la dessus.j'utilise un serveur apache pour me connecter la dessus et avoir les logs.

    voici quelques unes:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     @2BD3B070: opened new socket, 735282032, total is 1
    [BROWSER] 000001174: |  |  (7) @2BD3B070: txheader Connection: Keep-Alive
    [BROWSER] 000001174: |  |  @2BD3B070: build_request: built ---
    000001174: |  |  GET script/script.py?jobport=48311 HTTP/1.0
    Host: localhost
    Pragma: no-cache
    Accept: text/html, image/gif, image/jpeg, image/pjpeg, image/png, */*; q=.2
    [BROWSER] 000001174: FAF: BROWSER_MSG_TYPE_NETWORK msg
    [BROWSER] 000001174: http_prosecute status 102 (loop 0)
    [BROWSER] 000001174: sock@00000060: successful synchronous connect (?)
    [BROWSER] 000001174: http_prosecute: connect returned NULL
    [BROWSER] 000001174: @2BD3B070: status now 200
    [BROWSER] 000001174: @2BD3B070: callback requested
    [BROWSER] 000001174: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001174: http_prosecute status 200 (loop 1)
    [BROWSER] 000001174: @2BD3B070: status now 204
    [BROWSER] 000001174: socket 96 direction set to WRITING
    [BROWSER] 000001174: @2BD3B070: callback requested
    [BROWSER] 000001174: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001174: http_prosecute status 204 (loop 1)
    [BROWSER] 000001174: @2BD3B070: in http_send_request, flags=0x00000008
    [BROWSER] 000001174: @2BD3B070: calling http_send(290)
    [BROWSER] 000001174: @2BD3B070: sent rc=290
    [BROWSER] 000001174: @2BD3B070: flags: 
    [BROWSER]  priority
    [BROWSER] 
    [BROWSER] 000001174: @2BD3B070: status now waiting
    [BROWSER] 000001174: socket 96 direction set to READING
    [BROWSER] 000001174: @2BD3B070: callback requested
    [BROWSER] 000001174: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001174: http_prosecute status 300 (loop 1)
    [BROWSER] 000001174: @2BD3B070: http_async_callback calls make_callback
    [BROWSER] 000001174: @2BD3B070: making callback(@2BD36188,300,0+0/-1)
    [BROWSER] 000001174: FAF: BROWSER_MSG_TYPE_NETWORK msg
    [BROWSER] 000001185: http_prosecute status 300 (loop 0)
    [BROWSER] 000001185: recv gave 1784
    [BROWSER] 000001185: @2BD3B070: read 1784 bytes
    [BROWSER] 000001185: @2BD3B070: received 'HTTP/1.1 200 OK' keptalive 0
    [BROWSER] 000001185: @2BD3B070: response 200 'OK'
    [BROWSER] 000001185: set_server_flag: c@2BD3B070 flags 10000
    [BROWSER] 000001185: @2BD3B070: status now getting-headers
    [BROWSER] 000001185: @2BD3B070: callback requested
    [BROWSER] 000001185: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001185: http_prosecute status 301 (loop 1)
    [BROWSER] 000001185: recv gave 0
    [BROWSER] 000001185: @2BD3B070: EOF in getline (1767 chars)
    [BROWSER] 000001185: @2BD3B070: read 0 bytes
    [BROWSER] 000001185: @2BD3B070: rxheader 'Date: Mon, 11 Jun 2012 08:22:50 GMT'
    [BROWSER] 000001185: recv gave 0
    [BROWSER] 000001185: @2BD3B070: EOF in getline (1730 chars)
    [BROWSER] 000001185: @2BD3B070: read 0 bytes
    [BROWSER] 000001186: @2BD3B070: rxheader 'Server: Apache/2.2.14 (Ubuntu)'
    [BROWSER] 000001186: recv gave 0
    [BROWSER] 000001186: @2BD3B070: EOF in getline (1698 chars)
    [BROWSER] 000001186: @2BD3B070: read 0 bytes
    [BROWSER] 000001186: @2BD3B070: rxheader 'Vary: Accept-Encoding'
    [BROWSER] 000001186: recv gave 0
    [BROWSER] 000001186: @2BD3B070: EOF in getline (1675 chars)
    [BROWSER] 
    000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader 'Connection: close'
    [BROWSER] 000001286: @2BD3B070: orphaning queue
    [BROWSER] 000001286: @2BD3B070: from_queue: queue @2BD38330 empty
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: EOF in getline (1656 chars)
    [BROWSER] 000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader 'Content-Type: text/html'
    [BROWSER] 000001286: @2BD3B070: calling mime_to_file_type(text/html)
    [BROWSER] 000001286: @2BD3B070: mime_to_file_type returns 0xfaf
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: EOF in getline (1631 chars)
    [BROWSER] 000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader ''
    [BROWSER] 000001286: @2BD3B070: entering getting_body state, sofar=-1 size=-1 total=0
    [BROWSER] 000001286: @2BD3B070: finished getting headers buf used/off/size 2/1631/8192 bytes
    [BROWSER] 000001286: @2BD3B070: orphaning queue
    [BROWSER] 000001286: @2BD3B070: from_queue: queue @2BD38330 empty
    [BROWSER] 000001286: http_prosecute status 302 (loop 1)
    [BROWSER] 000001286: @2BD3B070: setting so_far=0
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: recv (body 6561) gave 0
    [BROWSER] 000001286: @2BD3B070: making callback(@2BD36188,302,0+1629/-1)
    [BROWSER] 000001286: |  |  http_status:
    [BROWSER] 000001286: |  |  resource_get(Microsoft/CP1252)
    [BROWSER] 000001286: |  |  resource_get: could not find 'Microsoft/CP1252'
    [BROWSER] 000001286: @2BD3B070: adding 1629 to so_far (now 1629)
    [BROWSER] 000001286: @2BD3B070: http_async_callback calls make_callback
    [BROWSER] 000001286: @2BD3B070: making callback(@2BD36188,302,0+0/-1)
    [BROWSER] 000001286: |  Set title to 'BCLinux-v1 Autotests'
    [BROWSER] 
    000001301: |  
    000001301: |  ERROR! "SyntaxError 1015: Reserved keyword "const" used as variable name"
    [BROWSER] 000001304: |  |  SUCCESSFULLY VERIFIED INTERNAL CONSISTENCY
    [BROWSER] 000001304: FAF: BROWSER_MSG_TYPE_NETWORK msg
    [BROWSER] 000001304: http_prosecute status 302 (loop 0)
    [BROWSER] 000001304: recv gave 0
    [BROWSER] 000001304: @2BD3B070: recv (body 8192) gave 0
    [BROWSER] 000001304: @2BD3B070: Connection closed on socket 735282032, errno=513
    [BROWSER] 000001304: @2BD3B070: status now completed-file
    [BROWSER] 000001304: @2BD3B070: callback requested
    [BROWSER] 000001304: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001304: @2BD3B070: closing socket 735282032 (0 left)
    [BROWSER] 000001304: @2BD3B070: decrementing queue @2BD38330's nsockets to 0
    [BROWSER] 000001304: @2BD3B070: orphaning queue
    [BROWSER] 000001304: @2BD3B070: from_queue: queue @2BD38330 empty
    [BROWSER] 000001304: @2BD3B070: freeing queue @2BD38330
    [BROWSER] 000001304: @2BD3B070: http_async_callback calls make_callback
    [BROWSER] 000001304: @2BD3B070: making callback(@2BD36188,500,0+0/-1)
    [BROWSER] 000001304: |  @2BD3B070: being closed by SWI http_close (socket -1)
    [BROWSER] 000001304: |  @2BD3B070: status now 400
    [BROWSER] 000001304: |  @2BD3B070: callback requested
    [BROWSER] 000001304: |  http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001304: |  @2BD3B070: unlinking from list
    [BROWSER] 000001304: |  @2BD3B070: found in callback list, removing
    [BROWSER] 000001304: |  http: no callbacks pending
    [BROWSER] 000001304: |  @2BD3B070: freeing connection structure
    [BROWSER] 000001304: |  Connection closed.
    [BROWSER] 000001304: |  |  SUCCESSFULLY VERIFIED INTERNAL CONSISTENCY
    [0:00:37.230][BROWSER][HTTP_END] http://localhost/script/script.py?jobport=48311 (0)
    [BROWSER] 000001304: FAF: BROWSER_MSG_TYPE_NETWORK msg

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Et ?

    On est un peu sec, là : tout ce qu'on voit c'est que ton script script.py a a priori une erreur : il contient une variable qui s'appelle const alors que c'est un mot réservé. Bon.

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Et ?

    On est un peu sec, là : tout ce qu'on voit c'est que ton script script.py a a priori une erreur : il contient une variable qui s'appelle const alors que c'est un mot réservé. Bon.
    je vais essayé d'etre plus clair:
    en fait mon script python appelle une page html dans laquelle on trouve du javascript( d'ou la déclaration des constantes (const) ).le poblème ici c'est que le browser qui va hebergé ces pages html supporte http 1.0 et du cout j'ai pas mal d'erreur comme vous l'avez vu.
    mon script va envoyer ces pages html via socket et comme vous pouvez le voir les socket ne passent pas.
    pourtant lorsque j'ai executer ce code là avec un browser qui supporte http 1.1 ça a fonctionné.une idée comment régler le problème?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En fait, je ne vois pas du tout le rapport avec HTTP/1.0. HTTP/1.1 ne supporte pas plus les sockets que HTTP/1.0 : le principe est toujours le même : un client demande une ressource à un serveur HTTP qui la lui renvoie. La différence principale entre HTTP/1.0 et HTTP/1.1 est la gestion des caches et des connexions client (Connection: close). Pour le reste, le fait qu'un serveur puisse se connecter à un socket serveur ouvert sur le client n'a rien à voir avec HTTP.

    Au passage, je n'ai pas vu dans les traces que tu donnes qu'il y a un problème de connexion à un socket. La seule erreur que j'ai vue est cette histoire de const. Où dans les logs voit-on ça ? Au passage, ces traces viennent de quoi ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    En fait, je ne vois pas du tout le rapport avec HTTP/1.0. HTTP/1.1 ne supporte pas plus les sockets que HTTP/1.0 : le principe est toujours le même : un client demande une ressource à un serveur HTTP qui la lui renvoie. La différence principale entre HTTP/1.0 et HTTP/1.1 est la gestion des caches et des connexions client (Connection: close). Pour le reste, le fait qu'un serveur puisse se connecter à un socket serveur ouvert sur le client n'a rien à voir avec HTTP.

    Au passage, je n'ai pas vu dans les traces que tu donnes qu'il y a un problème de connexion à un socket. La seule erreur que j'ai vue est cette histoire de const. Où dans les logs voit-on ça ? Au passage, ces traces viennent de quoi ?
    merci pour l'eclaircissement et tu as bien raison là dessus mais je pense que l'erreur est du aux socket car meme après avoir réparer le truc (const) j'ai toujours le meme résultat que dans le premier imp-ecran.
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    ttp_prosecute status 300 (loop 1)
    [BROWSER] 000001174: @2BD3B070: http_async_callback calls make_callback
    [BROWSER] 000001174: @2BD3B070: making callback(@2BD36188,300,0+0/-1)
    [BROWSER] 000001174: FAF: BROWSER_MSG_TYPE_NETWORK msg
    [BROWSER] 000001185: http_prosecute status 300 (loop 0)
    [BROWSER] 000001185: recv gave 1784
    [BROWSER] 000001185: @2BD3B070: read 1784 bytes
    [BROWSER] 000001185: @2BD3B070: received 'HTTP/1.1 200 OK' keptalive 0
    [BROWSER] 000001185: @2BD3B070: response 200 'OK'
    [BROWSER] 000001185: set_server_flag: c@2BD3B070 flags 10000
    [BROWSER] 000001185: @2BD3B070: status now getting-headers
    [BROWSER] 000001185: @2BD3B070: callback requested
    [BROWSER] 000001185: http: awaiting callbacks:
    [BROWSER]  @2BD3B070
    [BROWSER] 
    [BROWSER] 000001185: http_prosecute status 301 (loop 1)
    [BROWSER] 000001185: recv gave 0
    [BROWSER] 000001185: @2BD3B070: EOF in getline (1767 chars)
    [BROWSER] 000001185: @2BD3B070: read 0 bytes
    [BROWSER] 000001185: @2BD3B070: rxheader 'Date: Mon, 11 Jun 2012 08:22:50 GMT'
    [BROWSER] 000001185: recv gave 0
    [BROWSER] 000001185: @2BD3B070: EOF in getline (1730 chars)
    [BROWSER] 000001185: @2BD3B070: read 0 bytes
    [BROWSER] 000001186: @2BD3B070: rxheader 'Server: Apache/2.2.14 (Ubuntu)'
    [BROWSER] 000001186: recv gave 0
    [BROWSER] 000001186: @2BD3B070: EOF in getline (1698 chars)
    [BROWSER] 000001186: @2BD3B070: read 0 bytes
    [BROWSER] 000001186: @2BD3B070: rxheader 'Vary: Accept-Encoding'
    [BROWSER] 000001186: recv gave 0
    [BROWSER] 000001186: @2BD3B070: EOF in getline (1675 chars)
    [BROWSER] 
    000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader 'Connection: close'
    [BROWSER] 000001286: @2BD3B070: orphaning queue
    [BROWSER] 000001286: @2BD3B070: from_queue: queue @2BD38330 empty
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: EOF in getline (1656 chars)
    [BROWSER] 000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader 'Content-Type: text/html'
    [BROWSER] 000001286: @2BD3B070: calling mime_to_file_type(text/html)
    [BROWSER] 000001286: @2BD3B070: mime_to_file_type returns 0xfaf
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: EOF in getline (1631 chars)
    [BROWSER] 000001286: @2BD3B070: read 0 bytes
    [BROWSER] 000001286: @2BD3B070: rxheader ''
    [BROWSER] 000001286: @2BD3B070: entering getting_body state, sofar=-1 size=-1 total=0
    [BROWSER] 000001286: @2BD3B070: finished getting headers buf used/off/size 2/1631/8192 bytes
    [BROWSER] 000001286: @2BD3B070: orphaning queue
    [BROWSER] 000001286: @2BD3B070: from_queue: queue @2BD38330 empty
    [BROWSER] 000001286: http_prosecute status 302 (loop 1)
    [BROWSER] 000001286: @2BD3B070: setting so_far=0
    [BROWSER] 000001286: recv gave 0
    [BROWSER] 000001286: @2BD3B070: recv (body 6561) gave 0
    [BROWSER] 000001286: @2BD3B070: making callback(@2BD36188,302,0+1629/-1)
    [BROWSER] 000001286: |  |  http_status:
    [BROWSER] 000001286: |  |  resource_get(Microsoft/CP1252)
    [BROWSER] 000001286: |  |  resource_get: could not find 'Microsoft/CP1252'
    [BROWSER] 000001286: @2BD3B070: adding 1629 to so_far (now 1629)
    [BROWSER] 000001286: @2BD3B070: http_async_callback calls make_callback
    [BROWSER] 000001286: @2BD3B070: making callback(@2BD36188,302,0+0/-1)

    la premiere connexion se fait normalement mais par la suite les sockets ne reçoivent rien en faite(pas de données).j'ai supprimer le javascript et j'ai envoyé seulement des pages html banale:seule la 1ere page qui est affiché sur le navigateur.par contre si je l'execute sur mon pc (avecun autre navigateur) ça marche normalement

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En fait, je ne comprends pas la trace. A part l'erreur "resource_get: could not find 'Microsoft/CP1252'", tout me paraît normal. Il vient d'où, ce 'Microsoft/CP1252' ? Les traces d'Apache (access_log et error_log) disent quoi ?

  7. #7
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    En fait, je ne comprends pas la trace. A part l'erreur "resource_get: could not find 'Microsoft/CP1252'", tout me paraît normal. Il vient d'où, ce 'Microsoft/CP1252' ? Les traces d'Apache (access_log et error_log) disent quoi ?
    au niveau des erreurs je n'ai rien.au niveau des access.log eh bien j'ai seulement le 1er acces à la page html qui fonctionne normalement( code =200) mais normalement il doit y avoir les autres pages qui sont appelé via socket mais je n'ai rien .et dans les traces là haut vous trouverez que les sockets au niveau de la reception, la 1ere fois il ya eu une reception pour la 1ere page c'est pour ça qu'elle est affcihée.mais pour les autres pages eh bien on n'a pas pu recevoir les informations( reception au niveau des socket = 0Kb)

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Le navigateur doit appeler les autres pages selon quel mécanisme ? Du JavaScript ? Des frames ? Autres ? Qu'est-ce qui fait que le navigateur devrait aller chercher d'autres pages après avoir reçu la première ?

  9. #9
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Par défaut
    j'ai créé un script python qui envoi des pages html à mon système embarqué.
    la communication se fait via socket.normalement le système va chercher les autres pages une par une.mais dans mon cas il s'arrete au niveau de la premiere page html

Discussions similaires

  1. socket http recv
    Par LeSnul dans le forum Réseau
    Réponses: 3
    Dernier message: 12/07/2011, 09h47
  2. Comment utiliser plusieurs proxys pour les sockets http ?
    Par dawadam dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 02/06/2010, 10h33
  3. Sockets SSL ( serveur HTTPS )
    Par hexadecime dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/10/2007, 18h02
  4. [programmation] socket HTTP
    Par titemimi dans le forum Windows
    Réponses: 2
    Dernier message: 02/04/2007, 16h12
  5. [HTTP][Socket] avec une url c'est possible ?
    Par tck-lt dans le forum Entrée/Sortie
    Réponses: 13
    Dernier message: 19/08/2005, 09h39

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