Socket et Threading

dabcorp Messages postés 15 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 20 octobre 2009 - 19 juil. 2005 à 20:10
cs_asma40 Messages postés 1 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 22 janvier 2009 - 22 janv. 2009 à 23:05
Bonjour ,

J'ai fait un client/serveur socket , mais je me comprend pas les threads ... Je suis obligé de faire une boucle pour relance le programme à chaque réception d'une data client.

voici mon code :

# Serveur Socket

import socket
import time
import threading
import os

def connec():
HOST = '127.0.0.1' # Nom du serveur
PORT = 8010 # Port d'ecoute sur le serveur
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connexionn du client :', addr
while 1:
data = conn.recv(1024)
if not data:
print 'Deconnexion du client'
break
else:
print data
conn.send(data)
conn.close()

a=threading.Thread(target=connec,args=(3,5))
a.start
connec()

7 réponses

lambdacrash Messages postés 31 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 11 juillet 2010 13
21 juil. 2005 à 19:37
Salut,

Je connais bien les sockets en multi-threading. Je veux bien t'aider,
seulement il faudrait que tu présentes ton code correctement car là je
ne comprends rien.

Merci

@ bientôt

<hr size="2" width="100%">.: Lambdacrash
:.
0
dabcorp Messages postés 15 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 20 octobre 2009
21 juil. 2005 à 23:00
Merci pour ton aide.

PS : En fait , je comprend pas les threads ....

import socket
import time
import threading
import os

def connec():
print 'Serveur Pret, en attente ...'
HOST = '127.0.0.1' # Nom du serveur
PORT = 8010 # Port d'ecoute sur le serveur
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connexionn du client :', addr
while 1:
data = conn.recv(1024)
if not data:
print 'Deconnexion du client'
break
else:
print data
conn.send(data)
0
lambdacrash Messages postés 31 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 11 juillet 2010 13
22 juil. 2005 à 07:17
Salut,
tu m'excuseras je vais faire vite car je pars au boulot.
Un thread contient du code que tu auras écris (script envoyant l'heure courante en broadcast par exemple).Si tu créés 5 threads contenant le même code, ce code sera exécuter 5 fois simultanément et ceux jusqu'à l'infini dans le temps si l'exécution n'est stoppée.
Lancer 5 threads est équivalent à écrire 5 fichiers .py contenant le même code et tenter de les exécuter simultanément. Les threads peuvent le faire mais pas toi !

Bonne journée c'est le matin qui avance (7h15).




<HR width="100%" SIZE=2>
.: Lambdacrash
:.
0
lambdacrash Messages postés 31 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 11 juillet 2010 13
24 juil. 2005 à 23:45
Salut, essaie ce petit exemple et tu comprendras très vite ce que sont des threads.

# -*- coding: cp1252 -*-

from threading import Thread

import time

def runThread(msg,t):

for i in range (10):

print i, msg

time.sleep(t)

th1 Thread(target runThread, args=("Je m'appelle A",1.0))

th2 Thread(target runThread, args=("Je m'appelle B",1.4))

th1.start()

th2.start()

time.sleep(4)

print "Début de l'attente"

print th1.isAlive()

th1.join()

print th2.isAlive()

print "Ciao"


<hr size="2" width="100%">.: Lambdacrash
:.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dabcorp Messages postés 15 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 20 octobre 2009
25 juil. 2005 à 08:18
Merci , je vais essayer

Cordialement ,
0
taz_iup Messages postés 179 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 21 mai 2014 3
12 août 2005 à 10:15
le truc c'est que tu lance un thread, mais que ton programme principale termine ensuite...

donc ton hread est terminé par python.
0
cs_asma40 Messages postés 1 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 22 janvier 2009
22 janv. 2009 à 23:05
je veut avoir un code source de client http sous visuel c++
0