Socket client/server très simple!

Contenu du snippet

Il s'agit d'un petit code, (2 fichiers en fait), 1 client et 1 serveur. Vous pouvez transmettre sur texte au client à partir du serveur. Il fonctionne avec les sockets UDP. La source n'est pas tout de moi, j'ai fait quelques modifs.

Source / Exemple :


# Le client
# On importe socket..
from socket import *

# Variables
host = "localhost"
port = 2074
buf = 1024
addr = (host,port)

# On fait le socket
UDPSock = socket(AF_INET,SOCK_DGRAM)
def_msg = "Message?"
print "\n",def_msg

# Envois du message
while (1):
    data = raw_input('>> ')
    if not data:
        break
    else:
        if(UDPSock.sendto(data,addr)):
            print "Envois de: '",data,"' ... <ok>"

# On ferme tout
UDPSock.close()

# -------------------------
# Le serveur

# Importe socket..
from socket import *

# Variables, encore...
host = "localhost"
port = 2074
buf = 1024
addr = (host,port)

# On fait le socket
# et bind l'addresse
UDPSock = socket(AF_INET,SOCK_DGRAM)
UDPSock.bind(addr)

# On recois le message
while 1:
    data,addr = UDPSock.recvfrom(buf)
    if not data:
        print "Le client a quitte"
        break
    else:
        print "\nRecu: '",data,"'"

# On ferme tout ca
UDPSock.close()

Conclusion :


Merci à l'auteur d'origine, je n'ai fait que modifier quelques trucs, je crois que c'est un très bon moyen d'apprendre les connections udp. Pour l'instant ca ne fonctionne qu'avec "localhost", j'ai esseillé avec une ip, avec un ami, et le serveur ne recoit rien.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_mast)