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?

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?

WBOY
WBOYOriginal
2016-09-27 14:18:061296Durchsuche

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?

Antwortinhalt:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn