Mit subprocess pythonprogramm aufrufen
Verfasst: Dienstag 24. Januar 2012, 19:46
hallo forum
ich habe ubuntu und möchte ein chatprogramm schreiben.
momentan besteht dieses chat allerdings noch aus einem server programm und einem client programm.
hier erstmal der server
und hier der client
nun habe ich vor diese beide programme in eins zu vereinen oder zumindest in einem terminal zu öffnen.
ich habe mich erkundigt und erfahren dass man mit subprocess programme parallel aufrufen kann.
nur wie geht das?
ich habe schon versucht
aber wenn ich dann den clienten in einem anderen terminal öffne, passiert in dem serverterminal nichts.
wie kann das serverprogramm und das clientprogramm zusammenführen, ohne gui oberfläche?
schonmal danke
campino97
sorry dass es so lang ist, ich wollte aber so viele informationen wie möglich schreiben.
ich habe ubuntu und möchte ein chatprogramm schreiben.
momentan besteht dieses chat allerdings noch aus einem server programm und einem client programm.
hier erstmal der server
Code: Alles auswählen
import socket,time
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.bind(("", 50000))
print "Der Server hat gestartet"
while True:
daten, addr = s.recvfrom(999999999)
print "[%s] %s" % (addr[0], daten)
finally:
s.close()
Code: Alles auswählen
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ip= raw_input("IP Adresse: ")
nachricht=''
while nachricht != '/close/':
nachricht = raw_input("Nachricht: ")
s.sendto(nachricht,(ip,50000))
print "Die Nachricht wurde gesendet"
s.close()
print "Die Verbindung wurde geschlossen"
ich habe mich erkundigt und erfahren dass man mit subprocess programme parallel aufrufen kann.
nur wie geht das?
ich habe schon
Code: Alles auswählen
p= subprocess.Popen(["python","/home/pfad/server.py","-q"], stdout=subprocess.PIPE)
aber wenn ich dann den clienten in einem anderen terminal öffne, passiert in dem serverterminal nichts.
wie kann das serverprogramm und das clientprogramm zusammenführen, ohne gui oberfläche?
schonmal danke
campino97
sorry dass es so lang ist, ich wollte aber so viele informationen wie möglich schreiben.