je suis arrivé ce code de http://www.evolt.org/node/60276 et modifié pour écouter un seul « 1 » venant de l'autre côtéprogramme de mise en réseau tombe en panne
mais chaque fois que je lance ce programme, il arrête et IDLE python va non répondre sur " data1, adr = UDPSock.recvfrom (1024) »
def get1():
# Server program, receives 1 if ball found
# ff1 is file w/ received data
import socket
import time
# Set the socket parameters
host = "mysystem"
port = 21567
#buf = 1024
addr = (host,port)
# Create socket (UDP) and bind to address
UDPSock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
UDPSock.bind(addr)
# Receive messages
while 1:
print "waiting..............."
data1,addr = UDPSock.recvfrom(1024)
print "got 1"
if not data1:
print "Client has exited!"
break
else:
print "\nReceived message '", data1,"'"
UDPSock.close() # Close socket
print "socket closed\n"
#call some other function that uses 1
et côté client
def send1():
# Client program, sends 1 if ball found
# mf1 is file with data to be sent
import socket
# Set the socket parameters
host = "mysystem"
port = 21567
buf = 1024
addr = (host,port)
# Create socket (UDP)
UDPSock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
mf1=1
print mf1
# Send messages
if(UDPSock.sendto(str(mf1),addr)):
print "Sending message '",str(mf1),"'....."
# Close socket
UDPSock.close()
personne ne sait ce qui pourrait être la cause de cela? (désolé pour un long post)
La version que vous avez affichée fonctionne assez bien pour que le problème que vous rencontrez n'apparaisse pas pour moi. Si vous avez une version qui ne fonctionne pas, pourquoi ne pas l'afficher à la place de la version qui fonctionne? – Omnifarious