Mehrache Socketverbindungen überschreiben Variablen

Startseite Foren Deutsches LiveCode-Forum Mehrache Socketverbindungen überschreiben Variablen

Ansicht von 3 Antwort-Themen
  • Autor
    Beiträge
    • #21172
      ace16vitamine
      Teilnehmer

      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 Clients

      Die 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

    • #21174
      Torsten
      Teilnehmer

      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 Nachricht

      Happy Coding
      Torsten

    • #21178
      ace16vitamine
      Teilnehmer

      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

    • #21238
      Torsten
      Teilnehmer

      Perfekt!

      Freut mich, Dir geholfen zu haben 🙂

      BG
      Torsten

Ansicht von 3 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.