PHP Socketprogrammierung

sh.

Lt. Commander
Registriert
Dez. 2017
Beiträge
1.114
Hallo Forum,

ich bin gerade dabei PHP zu lernen und befasse mich gerade mit der Netzwerkprogrammierung, im speziellen der Socketprogrammierung.

Was habe ich vor? Ein Socket bestehenden aus Server und Client, der Client schickt Nachrichten zum Server und der Server empfängt diese Nachrichten und speichert diese dann in eine MySQL Datenbank.

Was habe ich schon / was funktioniert schon? Der Socket läuft schon soweit, der Server empfängt Nachrichten und speichert diese auch in eine MySQL Datenbank... aber er speichert sie noch nicht so wie ich das möchte.

Der Client besitzt eine ID (um später mehrere Clients zu verbinden und parallel betreiben zu können) und ich würde jetzt gerne die ID in eine Spalte und die Nachricht in eine eigene Spalte speichern, im Moment speichert er einfach in eine Zeile alles hinter einander. Ich weiß nicht wie ich im Client das machen kann damit ich beides getrennt bzw. getrennt in einer Nachricht schicken kann damit der Server das getrennt abspeichern kann.

Ich hoffe mit der Beschreibung kann der ein oder andere was anfangen :D ansonsten versuche ich es nochmal genauer zu erklären.

Hier mal von beiden der Quellcode:

Server:
Code:
...

Client:
Code:
...

in der db.class.php stehen dann die Daten zur Datenbank zum verbinden.

Wäre echt super wenn einer einen Tipp für mich hat wie ich das am besten realisieren könnte :)
Ergänzung ()

ok, hat sich erledigt! :D manchmal ist es so einfach... :D

habe es einfach mit dem zerlegen der Variable gelöst und schon kann ich einfach einzelne Teile in die Datenbank abspeichern wo ich möchte :)
 
Zuletzt bearbeitet:
Die ID, die der Server in die DB schreibt, sollte auch vom Server verwaltet und eingefügt werden, wenn der Client die beliebig mitschicken darf kann die jeder missbrauchen.
 
So wie du da die DB verwendest sind SQL-Injections möglich. Das würde ich mir auch anschauen, damit man es von Anfang an lernt, wie es richtig gemacht wird (prepared Statements, filter vor die Userinputs und so...)
 
Der Socket wird nur im lokalen Netzwerk verwendet deswegen erstmal ohne jeglichen Schutz vor SQL-Injections usw. aber ihr habt Recht und da ich mich gerade noch in der Lernphase befinde sollte ich das gleich von Anfang an richtig lernen. Vielen Dank für die Tipps :)
 
Zurück
Oben