Startseite › Foren › Deutsches LiveCode-Forum › Mehrache Socketverbindungen überschreiben Variablen
- Dieses Thema hat 3 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 5 Monaten von Torsten.
-
AutorBeiträge
-
-
Mai 28, 2020 um 17:52 Uhr #21172
Hallo zusammen.
Ich habe hier gerade ein krasses Problem und benötige einen kleinen Denkanstoß!
Zum Hintergrund:
– Ein Serversystem:
read from socket socket_server until "***EOL" with message "server_nachricht"
– Mehrere ClientsDie Clients bauen eine Verbindung zum Server auf und übertragen einen Benutzuernamen und ein Kennwort, eine Funktion überprüft dies und verarbeitet dann einen JSON String der anschließend übertragen wird. Wenn ich nur einen Client habe funktioniert das ohne Probleme. Die Daten werden anschließend aus dem JSON Format in eine Datenbank eingetragen. Hier ein Beispiel, die Variable “username_client” kommt aus der ersten Übertragung vor dem Json File,
er findet damit einen Eintrag in der Tabelle t_statistik wo wie UserID = username_client ist.
put "UPDATE t_statistik SET Array_Daten='" & array_transfer_statistik & "' WHERE UserID = '" & username_client & "' " into sql_update_statistik
Soweit, so gut.
Jetzt kommt aber ein zweiter Client mit einem anderen Benutzernamen. Dies geschieht während noch die SQL Selects vom ersten Client abgearbeitet werden. Und jetzt das Problem: In der Datebank stehen jetzt die Informationen des ersten Benutzers mit dem Benutzernamen des zweiten Benutzers. Meine Vermutung: username_client ist eine globale Variable. Während die SQL Selects des ersten Benutzers abgearbeitet werden wird diese durch die neue Verbindung des zweiten Benutzers überschrieben. Er macht dann logischerweise einen “INSERT” in die Datenbank des JSON Arrays – Aber ersetzt eben die Variable username_client da diese durch den zweiten Client neu gesetzt wurde.
Wie kann ich eine Variable an die SOCKET Verbindung hängen Beispiel username_client(SOCKET_ID) und diese anschließend löschen? Oder hat jemand noch eine andere Idee? Vielleicht ist meine Vermutung auch komplett falsch, kann ja auch sein.
Viele Grüße,
Stef -
Mai 28, 2020 um 18:22 Uhr #21174
Hi Stef,
wie wär es so:
1. jede Nachricht der Clients enthält auch den Usernamen
2. jede Abfrage benutzt den Usernamen der jeweiligen NachrichtHappy Coding
Torsten -
Mai 28, 2020 um 19:04 Uhr #21178
Hm… Und dann picke ich mir den Usernamen da raus. Gute Idee. Glaube die Infos liefere ich sogar tatsächlich im JSON Format mit an, müsste dann also eine Kleinigkeit sein.
Manchmal sieht man den Wald vor lauter Bäumen nicht 😉
Stef
-
Mai 30, 2020 um 13:19 Uhr #21238
Perfekt!
Freut mich, Dir geholfen zu haben 🙂
BG
Torsten
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.