Bonjour, je viens de faire mini serveur web en utilisant socket.
Le serveur fonctionne nikel je me pose juste la question pourquoi suis-je obligé d'utiliser "makefile" (write) pour balancer les données au navigateur mais pas simplement la methode send de socket :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
def attenteConnexion():
    global Sck
    try:
        client, IP = Sck.accept()
        Recu = client.recv(1024)
        Source = client.makefile("w", 0)
        Source.write("HTTP/1.0\ 200 OK\nContent-type: text/html\r\n" + GetSourceFile(Page))
 
        Source.close()
        client.close()
 
    except:
        client.close()
Si je met :
Code :
client.send("HTTP/1.0\ 200 OK\nContent-type: text/html\r\n" + GetSourceFile(Page))
Ceci ne fonctionne pas (les données sont bien envoyé (testé avec telnet) mais le client HTTP me fou une erreur et ne m'affiche pas la page)

Une personne aurait t'elle la réponse ? Car j'en aurai grand besoin pour par la suite le refaire en .net.

Merci d'avance.