Composer benötigt Workerman/Workerman
. Erstellen Sie dann eine neue PHP -Datei (z. B. server.php
). Der folgende Code legt einen grundlegenden TCP -Server fest, der auf Port 2345 hört: & lt;? Php Required_once __dir__. '/vendor/autoload.php'; Verwenden Sie Workerman \ Arbeiter; $ Worker = New Worker ("tcp: //0.0.0.0: 2345"); $ Worker- & gt; onconnect = function ($ connection) {echo & quot; Neue Verbindung von {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; $ Worker- & gt; onmessage = Funktion ($ connection, $ data) {// Die Daten wieder an den Client $ connection- & gt; send ($ data); }; $ Worker- & gt; onclose = function ($ connection) {echo & quot; Verbindung geschlossen: {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; Worker :: RunAll ();
$ data
des onmessage
. Um Daten an den Client zurücksenden, verwenden Sie die Methode $ connection- & gt; send ()
. Sie können diese Daten nach Bedarf verarbeiten. Zum Beispiel: $ Worker- & gt; onmessage = Funktion ($ connection, $ data) {$ empfangeneData = trim ($ data); // Leading/Trailing Whitespace Echo & quot; erhalten: & quot; . $ empfangendata. "\ n & quot ;; // Die empfangenen Daten verarbeiten ... $ response = & quot; Server empfangen: & quot; . $ empfangeneData; $ connection- & gt; send ($ response); };
Wie erstelle ich einen einfachen TCP -Server mit Workerman?
Wie erstelle ich einen einfachen TCP -Server mit Workerman? Stellen Sie zunächst sicher, dass Sie Workerman installiert haben. Sie können es normalerweise über Komponist installieren: Composer benötigt Workerman/Workerman
. Erstellen Sie dann eine neue PHP -Datei (z. B. server.php
). Der folgende Code legt einen grundlegenden TCP -Server fest, der auf Port 2345 hört: <code class="php"> & lt;? Php Required_once __dir__. '/vendor/autoload.php'; Verwenden Sie Workerman \ Arbeiter; $ Worker = New Worker ("tcp: //0.0.0.0: 2345"); $ Worker- & gt; onconnect = function ($ connection) {echo & quot; Neue Verbindung von {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; $ Worker- & gt; onmessage = Funktion ($ connection, $ data) {// Die Daten wieder an den Client $ connection- & gt; send ($ data); }; $ Worker- & gt; onclose = function ($ connection) {echo & quot; Verbindung geschlossen: {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; Worker :: RunAll (); </code>
Nach dem Login kopieren
<code class="php"> & lt;? Php Required_once __dir__. '/vendor/autoload.php'; Verwenden Sie Workerman \ Arbeiter; $ Worker = New Worker ("tcp: //0.0.0.0: 2345"); $ Worker- & gt; onconnect = function ($ connection) {echo & quot; Neue Verbindung von {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; $ Worker- & gt; onmessage = Funktion ($ connection, $ data) {// Die Daten wieder an den Client $ connection- & gt; send ($ data); }; $ Worker- & gt; onclose = function ($ connection) {echo & quot; Verbindung geschlossen: {$ connection- & gt; getRemoteip ()}: {$ connection- & gt; getRemoteport ()} \ n & quot ;; }; Worker :: RunAll (); </code>
Dieser Code verwendet die Klasse Workerman \ Worker
, um einen TCP -Worker zu erstellen. tcp: //0.0.0.0: 2345
Gibt die Höradresse und den Port an. Die onconnect
, onMessage
und onclose
Rückrufe handeln von Verbindungsereignissen, eingehenden Daten bzw. Verbindungsabschluss. Worker :: Runall ()
startet den Server. Denken Sie daran, dieses Skript von Ihrem Terminal mit PHP Server.php
auszuführen. Es verwendet ein Mehrprozess- oder Multi-Thread-Modell (abhängig von Ihrer Konfiguration), um zahlreiche gleichzeitige Verbindungen effizient zu verwalten. Der Schlüssel zu diesem gleichzeitigen Handling liegt in der ereignisorientierten Architektur von Workerman. Wenn eine Verbindung eintrifft oder Daten empfangen werden, löst Workerman die entsprechenden Rückrufe ( onconnect
, onMessage
usw.) aus, ohne andere Verbindungen zu blockieren. Dies ermöglicht es ihm, viele Kunden ohne Leistungsverschlechterung zu bewältigen. Die Anzahl der gleichzeitigen Verbindungen hängt von den Ressourcen Ihres Servers (CPU, Speicher, Netzwerkbandbreite) ab. Sie können die Anzahl der Arbeitsprozesse anpassen, um Ihre spezifischen Anforderungen über die Konfigurationsoptionen von WorkerMan zu optimieren. Diese werden normalerweise im Objekt Worker
festgelegt. Hier sind einige grundlegende Einstellungen:
-
Worker- & Gt; Count
: Gibt die Anzahl der Arbeitsprozesse an. Das Erhöhen dieser Zahl kann die Leistung mit mehr Kunden verbessern, aber zu viele Prozesse können das System überlasten. Der Standardwert ist normalerweise 1. In einigen Szenarien nützlich, erfordert jedoch sorgfältige Überlegungen. Der Standardwert ist 'TCP'. Benötigt das Konfigurieren von SSL -Zertifikaten. Zum Beispiel:<code class="php"> $ worker = new Worker (& quot; tcp: //0.0.0.0: 2345 & quot;); $ Worker- & gt; count = 4; // Verwenden Sie 4 Arbeiterprozesse $ Worker- & gt; name = & quot; mytcpServer & quot ;; // ... Andere Einstellungen ... </code>
Nach dem Login kopierenWie sende und empfange ich Daten mit einem Workerman TCP -Server? Der Server empfängt Daten über den Parameter
$ data
desonmessage
. Um Daten an den Client zurücksenden, verwenden Sie die Methode$ connection- & gt; send ()
. Sie können diese Daten nach Bedarf verarbeiten. Zum Beispiel:<code class="PHP"> $ Worker- & gt; onmessage = Funktion ($ connection, $ data) {$ empfangeneData = trim ($ data); // Leading/Trailing Whitespace Echo & quot; erhalten: & quot; . $ empfangendata. "\ n & quot ;; // Die empfangenen Daten verarbeiten ... $ response = & quot; Server empfangen: & quot; . $ empfangeneData; $ connection- & gt; send ($ response); }; </code>
Nach dem Login kopierenDaten senden:
Um Daten an den Client zurück zu senden, verwenden Sie die
$ connection- & gt; send ()
Methode:<code classe="PHP"> $ Worker- & Gt; vom Server! "); }; </code>
Nach dem Login kopierenDenken Sie daran, potenzielle Fehler (z. B. Verbindungsfehler) in Ihren Rückernständen angemessen zu behandeln. Dies bietet einen grundlegenden Framework zum Senden und Empfangen von Daten innerhalb Ihres Workerman TCP -Servers. Eine komplexere Datenhandhabung kann Serialisierung oder andere Datenstrukturierungstechniken beinhalten.
Das obige ist der detaillierte Inhalt vonWie erstelle ich einen einfachen TCP -Server mit Workerman?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
