[Python] socket - questa me la dovete proprio spiegare..

allanon allanon a alaimo.org
Gio 26 Lug 2007 23:35:56 CEST


Eccomi qua, con un altro quesito!

siccome sono niubbo il codice lo provo prima nell'interprete ide
(quello che si lancia scrivendo python da console :p)

e allora scrivo questo codice qui

#!/usr/bin/python
import sys
from socket import *
import re
Host = 'localhost'
Port = 5038
s = socket(AF_INET, SOCK_STREAM)
s.connect((Host, Port))
s.send('Action: Login\r\nUserName: fop\r\nSecret: didodidodee\r\n\r\n')
s.send('Action: Command\r\nCommand: Show Channels\r\n\r\n')
data = s.recv(2048)                 # riceve fino a  2K bytes
rawstr = r"""\d(?=.active channels)"""
d=re.findall(rawstr,str(data))
print "canali attivi "+str(d)

e funziona senza dire pio!
mi ritorna

canali attivi 0

la variabile data e' la seguente
>>> print data
Asterisk Call Manager/1.0
Response: Success
Message: Authentication accepted

Response: Follows
Privilege: Command
Channel              Location             State   Application(Data)             
0 active channels
>>> 




Quanto invece lo stesso identico e medesimo codice frutto del copia e
incolla piu' puro lo ficco dentro un file e lo eseguo..
# ./prova-asterisk.py 
canali attivi []

e la variabile data
contiene soltanto

Asterisk Call Manager/1.0



secondo voi, come e' possibile che lo stesso codice ha un comportamento
differente??

PS
sono arcisicuro che mi manca qualche dettaglio essensiale,
daltra parte non potrebbe essere altrimenti,
pero stavolta sono propro curioso di sapere cosa e' 

Ciauzz



-- 
  .''`.  |Utente Linux #370990 <--> jabber: allanonxx a jabber.org
 : :'  : |No al TC-Palladium! http://www.no1984.org/
 `. `'`  |GnuPG ID Key:(0x)A07FF2DB <-->  gpg --search-keys 0xA07FF2DB
   `-    |Fingerprint 3D2F DCD4 6AB3 9C52 995A  969E D634 02FF A07F F2DB


Maggiori informazioni sulla lista Python