l'envoi des données à travers d'une socket
Bonjour,
j'ai ce script server.py
Code:
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
| import socket # Import socket module
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket created'
host =''
PORT = 48437 # Reserve a port for your service.
try:
s.bind((host, PORT)) # Bind to the port
except socket.error as msg:
print 'Bind failed. Error Code : ' + str(msg[0]) + ' Message ' + msg[1]
sys.exit()
print "Listening on port {p}...".format(p=PORT)
s.listen(1) #number of client
while True:
conn, addr = s.accept()
print ("Connection from", addr)
data = conn.recv(1024)
if not data:
break
elif data == 'killsrv':
conn.close()
sys.exit()d
else:
print(data)
#conn.sendall(data)
conn.close():
s.close() |
le script client.py
Code:
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
| import socket #for sockets
import sys #for exit
try:
#create an AF_INET, STREAM socket (TCP)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, msg:
print 'Failed to create socket. Error code: ' + str(msg[0]) + ' , Error message : ' + msg[1]
sys.exit();
print 'Socket Created'
host = '192.168.99.113'
port = 48437
try:
remote_ip = socket.gethostbyname( host )
except socket.gaierror:
#could not resolve
print 'Hostname could not be resolved. Exiting'
sys.exit()
#Connect to remote server
s.connect((remote_ip , port))
while True:
message = raw_input('test send data :')
try :
s.sendall(message)
print s.recv(1024)
except socket.error:
print 'Send failed'
sys.exit()
s.close() |
le problème que le client peut envoyer les données qu'une seule fois car le serveur ne reste pas toujours en réception des données.
aidez moi de trouver une solution pour que le serveur reste toujours en réception des données envoyer par le client.
merci d’avance