PHP - TCP-Socket



  • Du kannst auch mit Node.js arbeiten, das ist eine Plattform auf Javascript-Basis und du hast den Vorteil der nicht blockierenden Abarbeitung von Anfragen. Es wird also nicht altbacken ein Prozess/Thread für eine Anfrage gestartet, der so lange lebt, bis er zu einer Antwort bereit ist, sondern es können unheimlich viele Anfrage mit nur einem Thread bearbeitet werden. Javascript läuft hier mit einem JIT-Compiler und ist hier unglaublich schnell. Das gesamtem Paket ist meist doppelt so schnell wie ein Apache.

    Hier mal ein Beispiel für einen Minimal-Webserver:

    var http = require('http');
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
    }).listen(1337, '127.0.0.1');
    console.log('Server running at http://127.0.0.1:1337/')
    

    Es gibt heute viele Werkzeuge die sich exzellent für die jeweiligen Aufgaben eignen. Alles mit dem Schweizer-Taschenmesser machen zu wollen, ist sehr sehr dumm, oder man halt zu viel Zeit und Nerven. Die letzte Möglichkeit ist man kann es nicht anders, weil man nur diese eine Werkzeug einzusetzen vermag. Dann sollte man sich aber auch nicht Entwickler nennen dürfen.

    Es gibt den schönen Spruch "Komplexität mindert die Zuverlässigkeit", also mache alles so einfach wie möglich, folge dem KISS-Prinzip. Vermeide hochkomplexe Sprachen wie C++, wo es nur geht. Manchmal geht es nicht anders, aber meistens gibt es mittlerweile viel bessere Lösungen, als nun für alles C++ zu nehmen. Wir sind nicht mehr in den 90er, sondern 2014. Allein in den letzten Jahren hat sich sehr viel getan und wer neue Entwicklungen verpennt, oder auch verkennt, der sollte in Rente gehen.



  • Nodejs: Der OP hat ganz andere Probleme als welches Framework in seinem Fall am günstigsten ist. Warte lieber ab bis er sich mal über die Anforderungen im Klaren ist, bevor du Node.js empfiehlst.



  • fundamental schrieb:

    Ich möchte im Endeffekt eine stabile Verbindung haben.

    Die große Frage ist: Was soll denn über diese Verbindung überhaupt laufen?



  • Hallo,

    bitte entschuldigt die verspätete Antwort, ich wollte nicht respektlos wirken aber ich habe erst nochmal über den HTTP-Vorschlag nachdenken müssen.

    HTTP würde ich schon gerne benutzen, allerdings sehe ich da einige Probleme.

    Was ich konkret möchte:
    Der Anwender startet die Software, und connected automatisch zu meinem Server. Daraufhin möchte ich live von meinem Webserver aus mit dem Klienten kommunizieren.

    Wahrscheinlich wäre es das simpelste, wenn man Status-Handler tippt. Client connected/Client disconnected.

    Ich weiß dass ich mich unglaublich unmissverständlich ausdrücke, ich gebe mir jedoch schon einiges an Mühe um mein Problem so gut wie möglich zu beschreiben. Bitte entschuldigt mir das.

    Und ein herzliches Danke schön an alle die mir helfen möchten! Ihr seid klasse! 🙂


  • Mod

    Was heisst "live" kommunzieren?

    zB Twitter oder Facebook - das ist live Kommunikation.

    Du solltest eher abtstrakter Erklären was du tun willst und nicht wie du es tun willst.



  • Okay, abstrakt erklärt:

    Ich habe einen Computer bei meiner Mutter. Wenn meine Mutter den Computer startet, möchte ich dass meine Software sich automatisch mit meinem Webserver verbindet.

    Gehe ich auf meinen Webserver (Interface, bzw. GUI), möchte ich sehen "Computer A bei Mutti online".

    Ziel soll es sein, Infos und Daten, per live-Anfrage (vom Webserver aus), von dem Computer zu dem Webserver zu senden.



  • Ich benutze bei einem Webinterface eine Serveranwendung und WebSocket.
    Der Server benutzt dazu einen POCO Websocket (hier C++, aber andere Sprachen haben sicher auch was nettes, ansonsten das gröbste selbst implementieren) Server, mit dem sich die Seite synchronisiert.

    Das benötigt natürlichen mindestens einen V-Server und nicht nur eine Page mit FTP.

    EDIT: haha, FTP. wird als link erkannt, das war nicht geplant.


  • Mod

    Für mich klingt das wie wenn ein simples Webservices ausreichen würde.



  • Shade Of Mine schrieb:

    Für mich klingt das wie wenn ein simples Webservices ausreichen würde.

    Ok, von mir aus gerne. Und was wäre so ein simples Webservice?

    Danke im voraus!


  • Mod

    fundamental schrieb:

    Shade Of Mine schrieb:

    Für mich klingt das wie wenn ein simples Webservices ausreichen würde.

    Ok, von mir aus gerne. Und was wäre so ein simples Webservice?

    Danke im voraus!

    Einfach ein PHP oder was auch immer Skript dass die Inputs des Clients entgegen nimmt. Wozu muss eine konstante Verbindung bestehen?


Anmelden zum Antworten