-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/10/2013 17:46, Vittorio Spina wrote: > Il 04/10/2013 17:40, Manlio Perillo ha scritto: On 04/10/2013 > 17:33, Vittorio Spina wrote: >>>> Ciao a tutti. Ho scritto un programma che riceve dati da un >>>> Laser con interfaccia Ethernet. >>>> > Quale e' il protocollo usato dallo strumento? >> in che senso il protocollo?
Nel senso in che modo sono scambiati i dati tra i due punti della connessione, ed il formato di questi dati. > E' una connessione TCP-IP... intendi come >> sono fatti i dati? in quel caso è un po complesso, diciamo che >> lui spara di continuo un header dove è scritto quanti punti ha >> scnsionato e poi la lista dei punti... > Ok, allora non capisco quale è il tuo problema. >>>> il programma riassumento ha la seguente forma: >>>> >>>> from socket import * import config s = >>>> socket(AF_INET,SOCK_STREAM) s.connect((config.IP, >>>> config.PORT)) while 1: if s.recv(1)=="\xAA": letturaNumero = >>>> s.recv(1) >>>> >>>> quando lancio il codice noto che letturaNumero identifica un >>>> numero progressivo. > Noti? Non e' specificato nel protocollo? >> si ovviamente è specificato, diciamo che avvio il programma e >> sono alla scansione tipo 5500 e di lì inizio 5501, 2, ... chiudo >> un attimo e riavvio il codice e sono a 7324, 7325... insomma >> rimane appeso, mi aspetta. > > [...] >>>> E' come insomma se il device stesse ad aspettarmi fino alla >>>> lettura successiva, cosa che io non voglio poich│ i dati >>>> sono tanti e poi mi ritrovo con una sorta di macchina del >>>> passato. >>>> > Cosa vuoi fare, allora? >> voglio i dati in tempo reale. Se apro e chiudo il socket scatta >> un po' ma funziona, altrimenti vedo con un ritardo di circa 5 >> secondi, che non va bene. > Ok, finalmente ho capito cosa intendi. Il problema e' che sei troppo lento a leggere, e non ci puoi fare niente a parte ottimizzare il programma o riscriverlo in C. Infatti lo strumento non sembra avere supporto per il controllo del flusso [1] e quindi ti continua a mandare dati, anche se tu non sei in grado di "tenere il passo". [1] http://en.wikipedia.org/wiki/Flow_control_(data) Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlJO5YEACgkQscQJ24LbaUR0XACdEU8o4eM5NeoptWYoH3sA0t// sPQAnRT42sZ3OU89L7YfxQEr6l+VU4E8 =fwE0 -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python