Děkuji, je to zajímavý nápad. Socket jsem využíval jen ke spojení mezi počítači. To abych se ujjistil, že připojení je z místního počítače použiji address[0]=="127.0.0.1", kterou vrací s.accept(). Za pomoc děkuji, s detaily si poradím sám.
Koumes21 11.10.07, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: > > >Já bych ale potřeboval, > >aby se "server" nezapínal jako podproces, ale aby například oba > >programy zapnul uživatel a oni se sami poznaly a začaly spolu > >komunikovat. > > Tak to urob ako client-server. Uzivatel spusti server, spusti client, > server prijme data od klienta a vrati mu data. > > Tu je maly priklad, ktory som si odlozil - najdes ho niekde na webe: > Server prijima data od clienta, transformuje ich na uppercase a posiela > naspat clientovi. > > --------------------------- server.py ------------------------ > #!/usr/bin/env python > > """ > A simple echo server > """ > > import socket, string > > host = '' > port = 50000 > backlog = 5 > size = 1024 > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.bind((host,port)) > s.listen(backlog) > while 1: > client, address = s.accept() > data = client.recv(size) > if data: > print "Receiving data from client: %s" % data > data = string.upper(data) > print "Sending data to client : %s" % data > client.send(data) > client.close() > > --------------------------- client.py --------------------------- > #!/usr/bin/env python > > """ > A simple echo client > """ > > import socket > > host = 'localhost' > port = 50000 > size = 1024 > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > s.connect((host,port)) > data = 'Hello, world' > print "Sending data to server : %s" % data > s.send(data) > data = s.recv(size) > print 'Receiving data from server: %s' % data > s.close() > > > > > > > Koumes21 <[EMAIL PROTECTED]> > Sent by: [EMAIL PROTECTED] > 10.10.2007 21:02 > Please respond to > Konference PyCZ <[email protected]> > > > To > "Konference PyCZ" <[email protected]> > cc > > Subject > [python] subprocess, pipes > > > > > > > Dobrý den, > udělal jsem si dva jednoducé prográmky abych si vyzkouše > komunikaci mezi procesy. Jeden z nich jednoduše vypisuje to, co do něj > napíšete: > > import sys > > while 1: > c1=sys.stdin.read(1) > sys.stdout.write(c1) > sys.stdout.flush() > > Tento první jsem změnil na exe soubor modulem py2exe. > Druhý program spustí ten první a posílá do něj to co uživatel > napíše a to co se vrátí tiskne na obrazovku: > > import subprocess,sys,thread > > pipe = subprocess.Popen("server.exe", > stdin=subprocess.PIPE, > stdout=subprocess.PIPE) > > def reciever(): > while 1: > c1=pipe.stdout.read(1) > sys.stdout.write(c1) > > thread.start_new(reciever,()) > > while 1: > ....c1=sys.stdin.read(1) > ....pipe.stdin.write(c1) > > Je mi jasné, že program není ještě dokončený, ale jde o princip. > V tomto okamžiku vše správně funguje. Já bych ale potřeboval, > aby se "server" nezapínal jako podproces, ale aby například oba > programy zapnul uživatel a oni se sami poznaly a začaly spolu > komunikovat. Kdyby někdo věděl a poradil mi, budu mu jistě vděčný. > > Koumes21_______________________________________________ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > Mgr. Ing. Roman MIKLÓŠ > Prvá stavebná sporiteľňa a.s. > Bajkalská 30, P. O. Box 48 > 829 48 Bratislava 25 > Tel.: +421/ 2 / 582 31 174 > Fax: +421/ 2 / 582 31 109 > > _______________________________________________ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python >
_______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
