Newsgroup: it.lavoro.professioni.webmaster
Titolo: aiuto su python

Ragazzi, c'è nessuno che ha la bontà di dedicarmi 5 minuti per una domanda su python?
..ho provato in diverse liste sull'argomento ma nessuno mi ha mai risposto :(
-- 
Alessandro Crugnola [sephiroth]
Flash | PHP Developer
http://www.sephiroth.it
Team Macromedia Volunteer for Flash
http://www.macromedia.com/go/team
Flash-php mailing list
http://www.flash-php.it/index.php?ml=fpcoders&action=subscribe

 nessuno mi ha mai risposto :(
Si, ma la domanda?

ok, premettendo che sono assolutamente newbie di python, ho seguito alcuni esempi sul socket e ho fatto un server del genere:
import time
import sys
import win32ui
import win32con
import socket
import parsexml
from xml.dom import minidom
print time.ctime()
HOST = '127.0.0.1'
PORT = 50007
print ''
print 'Sarting serve socket at %s:%s' % (HOST,PORT)
print ''
print 'Wating for clients....'
def getXML(s):
 doc = minidom.parseString(s)
 search = doc.getElementsByTagName('MESSAGE')
 if len(search) > 0:
  msg = search[0]
 else:
  print "Error in XML formatting..."
  return
 msg_from = msg.getAttribute('FROM')
 msg_to   = msg.getAttribute('TO')
 print "Received message from->", msg_from
 print "Message text->",msg.firstChild.nodeValue
 print ""
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
    af, socktype, proto, canonname, sa = res
    try:
        s = socket.socket(af, socktype, proto)
    except socket.error, msg:
        s = None
        continue
    try:
        s.bind(sa)
        s.listen(10)
    except socket.error, msg:
        s.close()
        s = None
        continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = ""
    data1 = ""
    try:
        data = conn.recv(1024)
    except:
        pass
    if not data: break
    mystr = ''
    a = 0
    while a < len(data):
        mystr = mystr + data[a:a+1]
        a = a + 1
    print ""
    print time.ctime()
    print "Received %s" % (mystr)
    print addr
    print ""
    getXML(mystr)
    conn.sendall(mystr)
==================================
ok, a parte le schifezze che posso aver scritto qui sopra per me l'importante era verificare che ricevesse la stringa di testo, che
la parsasse e che la inviasse ai clients..
con un client in python infatti non ho problemi,
diciamo che gli mando una stringa del tipo:
myString = "<?xml version='1.0'?><ROOT><MESSAGE FROM='alex'>Ciao mondo</MESSAGE></ROOT>"
e fin qui non ho problemi.. i problemi nascono invece dal momento in cui provo a mandare la stessa stringa da flash. la connessione
avviene correttamente, ma appena mando la stessa stringa al server, mi genera un errore il parser xml:
Thu Jul 10 17:22:45 2003
Received <xml version='1.0'?><ROOT><MESSAGE FROM='Sephiroth'>ciao mondo</MESSAGE></ROOT>
('127.0.0.1', 4476)
Traceback (most recent call last):
  File "C:\Python22\mytest\server.py", line 73, in ?
    getXML(mystr)
  File "C:\Python22\mytest\server.py", line 18, in getXML
    doc = minidom.parseString(s)
  File "C:\Python22\Lib\site-packages\_xmlplus\dom\minidom.py", line 1925, in parseString
    return expatbuilder.parseString(string)
  File "C:\Python22\Lib\site-packages\_xmlplus\dom\expatbuilder.py", line 940, in parseString
    return builder.parseString(string)
  File "C:\Python22\Lib\site-packages\_xmlplus\dom\expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 18
ma il trace mi dice che la stringa gli è arrivata cmq.. e qui mi blocco..
grazie
-- 
Alessandro Crugnola [sephiroth]
Flash | PHP Developer
http://www.sephiroth.it
Team Macromedia Volunteer for Flash
http://www.macromedia.com/go/team
Flash-php mailing list
http://www.flash-php.it/index.php?ml=fpcoders&action=subscribe
"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio news:otePa.163773$lK4.4...@twister1.libero.it...


 ha scritto nel
messaggio news:HrePa.18389$qa5.4...@news2.tin.it...
| Ragazzi, c'è nessuno che ha la bontà di dedicarmi 5 minuti per una domanda
su python?
| ..ho provato in diverse liste sull'argomento ma nessuno mi ha mai risposto
:(
|
|
Non ne so nulla, ma hi provato sull'ng  it.comp.lang.python ?
Ciao Sèvero

> Non ne so nulla, ma hi provato sull'ng  it.comp.lang.python ?
sì, avevo già provato, ma nulla...


 ma il trace mi dice che la stringa gli è arrivata cmq.. e qui mi blocco..
E' arrivata, ma non è 'well-formed'.
Pare che il problema sia la stringa, non il software.
Il mio problema è che non ho mai usato in vita mia le win32 che invece
tu usi ...
	nicholas

 Pare che il problema sia la stringa, non il software.
sě, infatti.. ieri notte poi ho trovato il problema grazie ad un amico che mi ha risposto in privato..
il fatto č che flash manda di default un byte 0 alla fine della stringa XML.. era questo a sputtanarmi tutto..


 XML.. era questo a sputtanarmi tutto..
Non dovrebbe mandare 1 in caso di 'operazione riuscita' o cose simili ?
(per favore, il finelinea a 80 colonne, faccio una fatica bastarda a
leggere :) )
	nicholas