Guten Tag,
ich arbeite mich gerade etwas in das Thema Netzwerkprogrammierung mit Sockets ein und da habe ich nun eine Frage zu den möglichen Kommunikationsmöglichkeiten zwischen Client und Server: Nun gibt es ja verschiedene Streams, Reader und Writer die für die Informationsübergabe und -entgegennahme verwendet werden können. Nun frage ich mich: wie rufe ich geschickt vom Client eine bestimmte Funktion mit entsprechenden Parametern auf dem Server auf? Beispiel: Ich schreibe einen kleinen InstantMessenger. Auf Clientseite habe ich ein GUI mit Chatfenster, Textnachricht und Status. Nun möchte ich, wenn der Nutzer auf den Button "Status ändern" klickt, die Funktion setStatus(param1,param2, ...) auf dem Server aufgerufen wird. Prinzipiell könnt ich mir ein Objekt basteln, welches als Member den Funktionnamen und die Paramater hat. Aber ich kann mir nicht vorstellen, dass das ein sinnvoller Weg ist. Oder ist es vielmehr so, dass solche Funktionen auf den Client ausgelagert werden, und dieser dann direkt eine Verbindung zu bspw. einem MysqlServer aufbaut und die entsprechenden Einträge schreibt/editiert und der Server in dem Fall für die weitere Verarbeitung des neuen Datensatzes in der DB verantwortlich ist?
Zusammengefasst: Wie vermittle ich einem Server am sinnvollsten, was er mit dem Input des Clients anfangen soll? (unabhängig von meinem IM-Beispiel)
Vielen Dank schonmal für eure Antworten,
yummy
ich arbeite mich gerade etwas in das Thema Netzwerkprogrammierung mit Sockets ein und da habe ich nun eine Frage zu den möglichen Kommunikationsmöglichkeiten zwischen Client und Server: Nun gibt es ja verschiedene Streams, Reader und Writer die für die Informationsübergabe und -entgegennahme verwendet werden können. Nun frage ich mich: wie rufe ich geschickt vom Client eine bestimmte Funktion mit entsprechenden Parametern auf dem Server auf? Beispiel: Ich schreibe einen kleinen InstantMessenger. Auf Clientseite habe ich ein GUI mit Chatfenster, Textnachricht und Status. Nun möchte ich, wenn der Nutzer auf den Button "Status ändern" klickt, die Funktion setStatus(param1,param2, ...) auf dem Server aufgerufen wird. Prinzipiell könnt ich mir ein Objekt basteln, welches als Member den Funktionnamen und die Paramater hat. Aber ich kann mir nicht vorstellen, dass das ein sinnvoller Weg ist. Oder ist es vielmehr so, dass solche Funktionen auf den Client ausgelagert werden, und dieser dann direkt eine Verbindung zu bspw. einem MysqlServer aufbaut und die entsprechenden Einträge schreibt/editiert und der Server in dem Fall für die weitere Verarbeitung des neuen Datensatzes in der DB verantwortlich ist?
Zusammengefasst: Wie vermittle ich einem Server am sinnvollsten, was er mit dem Input des Clients anfangen soll? (unabhängig von meinem IM-Beispiel)
Vielen Dank schonmal für eure Antworten,
yummy