kommunikation zwischen programmen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Hallo zusammen,

kann mir jemand ein Primitivbeispiel zeigen, wie ich
über Sockets Daten zwischen 2 Pythonprogrammen
austauschen kann.

Danke schonmal für eure Antworten.

alpha
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hier ist sind zwei Miniprogramme aus der Pythondocu...
zuerst musst du ein Serverprogramm erstellen und dann den Clint connecten lassen.

Code: Alles auswählen

# Echo server program
import socket

HOST = ''                 # Symbolic name meaning the local host
PORT = 50007              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #erstellen Server
s.bind((HOST, PORT)) #server auf localhost, Port 50007 laufen lassen
s.listen(1) #Server maximal 1 Client akzeptieren lassen... warten...
conn, addr = s.accept() #Client hat den server angerufen, verbindung in conn, addresse des clients in addr
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data) #Daten von Server zu Client senden
conn.close()

Code: Alles auswählen

# Echo client program
import socket

HOST = 'daring.cwi.nl'    # The remote host
PORT = 50007              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #socket-Obj erstellen
s.connect((HOST, PORT)) #zu server verbinden
s.send('Hello, world') #Daten zu server senden
data = s.recv(1024) #Daten von Server empfangen
s.close()
print 'Received', `data`
Beyond
User
Beiträge: 227
Registriert: Freitag 6. September 2002, 19:06
Kontaktdaten:

Oder PYRO
http://pyro.sourceforge.net/
falls Du VHLL wirklich bevorzugst ist das sicher besser.

cu beyond

PS. Allerdings sind Sockets sehr praktisch bei Kommunimation mit anderen (nicht-python) Programmen oder wenn's nur 'was kleines sein soll.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Danke für die Tipps.
Mal schauen was ich verwende. Ich werde das mal am WE
ausprobieren.

Bis dann.
Alpha
Antworten