Pregunta

Soy nuevo en la codificación, así que me disculpo por cualquier falso PAS descarado que pueda hacer en mi concepto de diseño.

Estoy buscando diseñar una aplicación muy básica que use Python que escaneará los puntos de acceso y registrará sus detalles en una base de datos remota de MySQL. Mi código funciona bien en la actualidad y escribe la información en una base de datos localizada sin problema, pero ahora mi consulta es, ¿qué trampas serán cuando buscan insertar los valores en un DB remoto? La conexión de banda ancha será una conexión móvil 3G y mi preocupación es que, si se ejecuta en un punto negro sin cobertura 3G, ¿cómo puedo detenerlo para que los datos se mantengan localmente hasta que la cobertura regrese?

Aquí está mi código así:-

while 1:
    s.send('\n!0 enable CLIENT bssid,mac,manuf,type,minlat,minlon,maxlat,maxlon,agglat,agglon,bestlat,bestlon,gpsfixed,signal_dbm,noise_dbm,firsttime,lasttime')

    buff = s.recv(512)
    tmp = buff.split()
    bssid = tmp[1]
    mac = tmp[2]
    manuf = tmp[3]
    type = tmp[4]
    minlat = tmp[5]
    minlon = tmp[6]
    maxlat = tmp[7]
    maxlon = tmp[8]
    agglat = tmp[9]
    agglon = tmp[10]
    bestlat = tmp[11]
    bestlong = tmp[12]
    gpsfixed = tmp[13]
    signal_dbm = tmp[14]
    noise_dbm = tmp[15]
    firsttime = tmp[16]
    lasttime = tmp[17]

    if bssid != mac:
        cursor.execute("""INSERT INTO data (bssid, mac, manuf, type,
minlat, minlon, maxlat, maxlon, agglat, agglon, bestlat, bestlong,
gpsfixed, signal_dbm, noise_dbm, firstime, lasttime)
                       VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s)""",
                       (bssid, mac, manuf, type, minlat, minlon,
maxlat, maxlon, agglat, agglon, bestlat, bestlong, gpsfixed,
signal_dbm, noise_dbm, firstime, lasttime) )
    else:
        pass

Como se dijo, el código funciona bien y, por lo tanto, no es realmente una pregunta sobre mi código, sino más sobre lo que debería considerar al usar una cobertura remota de banda ancha MySQL DB y móvil. Como voy a escanear puntos de acceso mientras está en forma, soy consciente de que no podría tener cobertura 3G durante 10 minutos, por ejemplo y lo habré detectado, digamos 200 puntos de acceso, así que me pregunto cómo es mejor lidiar con esto. ¿Escribirlos en RAM, un archivo TEMP o un DB local y luego actualizar cuando la conexión 3G está en su lugar?

Gracias

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top