Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Suche Hilfestellung zu Sockets zwischen Java und PHP

Empfohlene Antworten

Veröffentlicht

Hallo erstmals,

ich bin in der "Socket-Welt" ein neuling, und brauche daher eure hilfe.

Ich möchte zwischen Java (als Server) und PHP (als Client) Daten austauschen.

Der Client soll einen Befehl senden, und der Server darauf die Antwort.

Allerdings stellen sich hier schon mal meine Hauptfrage:

Wie kann ich am besten Daten zwischen 2 Sockets senden?

Der Client Schickt einen Befehl in Form eines Strings zum Server, mit Parametern und allem was gebraucht wird.

Der Server wertet diese aus, und schickt die Antwort zurück.

Nun ist aber da ein kleines Problemchen:

Wenn ich nun eine Variable schicken will, z.b. Integer, so sendet er mir "1234 \n", und sowas kann man nicht mal in PHP einfach casten.

Wie kann ich Klassen und Variablen ohne Probleme einfach hin- und her-schicken? Klassen muss man wohl serialisieren, aber davon hab ich bisher keine Ahnung, und genausowenig wie ich sie am besten schicke, bzw wieder zu einer Klasse in PHP mache.

Als Beispiel folgender Code:

PrintWriter out = new PrintWriter(client.getOutputStream(),true);

                    out.println(false);

Was in PHP ankommt ist das:

string(7) "false "

Das intressante dabei finde ich ist, das es 7 lang ist, aber nur 6 Zeichen angezeigt werden. Ist das 7. das \n, und warum das 6. ein Leerzeichen?

Nun, ich hoffe ihr könnt mir helfen, ich würde in diesem Bereich wirklich hilfe benötigen.

Danke im Vorraus

Laubi

ein Socket hängt nicht irgendwelche Daten an, der überträgt genau das was Du im übergibst:

PHP: socket_write - Manual

PHP: socket_send - Manual

bzw

Socket (Java 2 Platform SE v1.4.2)

Du solltest Dir einmal überlegen was ein "println" macht und wofür das "ln" in dem Methodennamen steht.

Eine Serialisation ist nicht zwingend erforderlich, kann aber manches einfacher machen. Ansonsten musst Du eben ein Protokoll benutzen, das eben beschreibt, wie die Datenstruktur sein soll und es dann sowohl im Client wie auch im Server implementieren

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.