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