Heim > Artikel > Backend-Entwicklung > Verwenden Sie PHP, um eine Verbindung zu einem Drittanbieter-Server herzustellen. Sie müssen alle drei Minuten einen Heartbeat an die andere Partei senden. Wie kann dies erreicht werden?
Der Geschäftsprozess ist wie folgt. Unser PHP-Server verwendet einen Socket, um eine Verbindung zum anderen Server herzustellen. Der andere Server sendet von Zeit zu Zeit Nachrichten an unseren PHP-Server, sodass unser PHP ständig lesen muss. Wir müssen auch alle drei Minuten einen Heartbeat senden. Wenn PHP weiterliest und keine Nachricht von der anderen Partei gesendet wird, wartet PHP weiter. Wie können wir sicherstellen, dass alle drei Minuten ein Heartbeat gesendet wird?
Der Geschäftsprozess ist wie folgt. Unser PHP-Server verwendet einen Socket, um eine Verbindung zum anderen Server herzustellen. Der andere Server sendet von Zeit zu Zeit Nachrichten an unseren PHP-Server, sodass unser PHP ständig lesen muss. Wir müssen auch alle drei Minuten einen Heartbeat senden. Wenn PHP weiterliest und keine Nachricht von der anderen Partei gesendet wird, wartet PHP weiter. Wie können wir sicherstellen, dass alle drei Minuten ein Heartbeat gesendet wird?
Im Allgemeinen ist es nicht sehr gut, hierfür PHP zu verwenden.
Verzögerung für 3 Minuten Sleep(3)
Führen Sie das Skript set_time_limit(0) immer aus.
Trennen Sie die Verbindung zum Client und fahren Sie mit der Ausführung fort,ignore_user_abort(0)
Erwägen Sie die Verwendung von Swoole
Sie müssen beim Lesen auch einen Herzschlag senden. Verwenden Sie dazu php-cli
Swoole kann ganz einfach Ihre Bedürfnisse erfüllen