05/08/16 15:51
macco_cl
Ciao a tutti!
Come da titolo ho la necessità di inviare dei pacchetti contenenti dei dati del giroscopio interno del telefono ad un server in modo che li possa poi salvare sul database
L'invio dei pacchetti avviene tramite un'app, la quale prepara i dati da inviare e li invia al server tramite http in formato json, l'app è già pronta (ma non è stata sviluppata da me) il mio compito è quello di creare un server che possa essere sempre in ascolto sulla porta 80 e collezionare questi pacchetti.
Quello che avevo pensato ad un primo momento era di utilizzare i socket solo che mi sono accorto che essendo l'ip del cellulare dinamico non posso impostare un ip fisso a cui il server può rispondere e quindi mi sono bloccato.
Ho letto molta documentazione sui socket in python ma non riesco a capire in che modo posso utilizzarli, in questo caso specifico.
In che modo posso mettermi in ascolto di questi pacchetti e decodificarli con json?
Di seguito posto il codice che stavo sviluppando:
Il codice che sto sviluppando è corretto? posso procedere in questa direzione o sto sbagliando?
Mi scuso anticipatamente se la mia domanda dovesse essere banale, ma sto cercando di imparare e vorrei farlo nel miglior modo possibile.
Come da titolo ho la necessità di inviare dei pacchetti contenenti dei dati del giroscopio interno del telefono ad un server in modo che li possa poi salvare sul database
L'invio dei pacchetti avviene tramite un'app, la quale prepara i dati da inviare e li invia al server tramite http in formato json, l'app è già pronta (ma non è stata sviluppata da me) il mio compito è quello di creare un server che possa essere sempre in ascolto sulla porta 80 e collezionare questi pacchetti.
Quello che avevo pensato ad un primo momento era di utilizzare i socket solo che mi sono accorto che essendo l'ip del cellulare dinamico non posso impostare un ip fisso a cui il server può rispondere e quindi mi sono bloccato.
Ho letto molta documentazione sui socket in python ma non riesco a capire in che modo posso utilizzarli, in questo caso specifico.
In che modo posso mettermi in ascolto di questi pacchetti e decodificarli con json?
Di seguito posto il codice che stavo sviluppando:
import socket import urllib2 if __name__ == "__main__": """Main function that starts the server""" # Creates TCP socket in the specified IP address and port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((socket.gethostname(), "80")) # Starts server, up to 10 clients are queued s.listen("5") while True: try: print "start loop" conn, addr = s.accept() url = ????? #qui non so che url mettere visto che il mio IP è dinamico response = urllib2.urlopen(url) lettura = response.read() my_dict = json.loads(lettura) except: print "errore"
Il codice che sto sviluppando è corretto? posso procedere in questa direzione o sto sbagliando?
Mi scuso anticipatamente se la mia domanda dovesse essere banale, ma sto cercando di imparare e vorrei farlo nel miglior modo possibile.
aaa