D
DMD-OL
Neues Mitglied
- 0
hallo zusammen
ich schicke meinem python server daten als json-string von meinem handy.
diese werden kontrolliert. bis hierhin funktioniert alles.
nun möchte ich gern vom server eine antwort bekommen, ob die daten gleich sind (also true) oder ungleich (also false) sind.
mein python server code (ausschnitt) ist:
und mein android client code (auch ausschnitt) ist:
habe den code im android handy teil (direkt oben drüber), der gaub ich den fehler verursacht, makiert.
durch den neu eingefügten code wird auf einmal der socket immer wieder geschlossen!
ich bin hobby programmierer und echt für jede hilfe dankbar.
ich schicke meinem python server daten als json-string von meinem handy.
diese werden kontrolliert. bis hierhin funktioniert alles.
nun möchte ich gern vom server eine antwort bekommen, ob die daten gleich sind (also true) oder ungleich (also false) sind.
mein python server code (ausschnitt) ist:
Code:
con = sqlite3.connect(SQL_Adressdateien)
cursor = con.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS Adressenliste(id INTEGER PRIMARY KEY, ktoNum INT UNIQUE, vorName TEXT, nachName TEXT , gebDat TEXT, pLz INT, wohnOrt TEXT)''')
cursor = con.cursor()
cursor.execute('''SELECT ktoNum,vorName,nachName,gebDat,pLz FROM Adressenliste WHERE ktoNum=?''', (ktoNum_handy,))
aktuellesKonto = cursor.fetchone()
if aktuellesKonto == None:
client.send("false")
print 'Bitte erstmal ein Konto am PC anlegen\n'
else:
ktoNum = aktuellesKonto[0]
vorName = set(aktuellesKonto[1].split(' '))
nachName = set(aktuellesKonto[2].split(' '))
gebDat = set(aktuellesKonto[3].split(' '))
pLz = aktuellesKonto[4]
wohnOrt = set(aktuellesKonto[5].split(' '))
if ( int(ktoNum) == int(ktoNum_handy) and vorName == vorName_handy and nachName == nachName_handy and gebDat == gebDat_handy and int(pLz) == int(pLz_handy) and wohnOrt == wohnOrt_handy): #and str(vorName) is str(vorName_handy) and str(nachName) is str(nachName_handy) and str(gebDat) is str(gebDat_handy) and str(pLz) is str(pLz_handy) and str(wohnOrt) is str(wohnOrt_handy)
now = datetime.datetime.now()
currentTime = now.strftime("%d.%m.%Y, %H:%M:%S")
serverNameDatum = "Stream "+str(kontakt)+(":\n---> DMD-Server ("+currentTime+")\n")
client.send(serverNameDatum)
print 'gleich'
else:
client.send("false")
print 'nicht gleich\n'
kontakt += 1
client.close()
streamSock.close()
Code:
Socket socket = null;
try {
SocketAddress sock_addresse = new InetSocketAddress(dstAddress, dstPort);
socket = new Socket();
socket.connect(sock_addresse, timeoutMs);
//Senden
JSONObject json = new JSONObject();
try (OutputStreamWriter writer = new OutputStreamWriter(socket.getOutputStream(), StandardCharsets.UTF_8)){
json.put("Konto",userKonto);
json.put("Vorname",userVorname);
json.put("Nachname",userNachname);
json.put("Geburt",userGeburt);
json.put("Plz",userPlz);
json.put("Wohnort",userWohnort);
writer.write(json.toString());
} catch (JSONException e) {
e.printStackTrace();
failMessage = "Fehler JSON!" + e.toString();
}finally {
try {
//response = "hallo";
// von hier ...
InputStream stream = new BufferedInputStream(socket.getInputStream());
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
StringBuilder builder = new StringBuilder();
String inputString;
while ((inputString = bufferedReader.readLine()) != null) {
builder.append(inputString);
response = builder.toString();
//bis hier habe ich neu eingefügt. woraus der fehler entsteht
}
}catch (Exception e) {
e.printStackTrace();
failMessage = "Fehler INPUTSTRING!" + e.toString(); //<--- dieser fehler spricht an
}
}
} catch (UnknownHostException e) {
e.printStackTrace();
failMessage = "IP-ADRESSE UNBEKANNT!";
} catch (IOException e) {
e.printStackTrace();
failMessage = "PC NICHT ERREICHBAR!";
}finally{
if(socket != null){
try {
socket.close(); // <--- und hier wird der socket geschlossen
} catch (IOException e) {
e.printStackTrace();
failMessage = "IO-Exception: " + e.toString();
}
}
}
}
return null;
durch den neu eingefügten code wird auf einmal der socket immer wieder geschlossen!
ich bin hobby programmierer und echt für jede hilfe dankbar.
Zuletzt bearbeitet: