Use PHP to write sokket to connect to a third-party server. You need to keep the connection constant and send a heartbeat to the other party every three minutes. PHP is single-threaded. How can this be achieved?

WBOY
Release: 2016-09-27 14:18:06
Original
1293 people have browsed it

The business process is like this. Our php server uses socket to connect to the other party's server. The other party's server will send messages to our php server from time to time, so our php needs to read all the time. While reading, we also need to send a heartbeat to the other party every three minutes. When php keeps reading and no message is sent from the other party, php keeps waiting. How can we ensure that a heartbeat is sent every three minutes?

Reply content:

The business process is like this. Our php server uses socket to connect to the other party's server. The other party's server will send messages to our php server from time to time, so our php needs to read all the time. While reading, we also need to send a heartbeat to the other party every three minutes. When php keeps reading and no message is sent from the other party, php keeps waiting. How can we ensure that a heartbeat is sent every three minutes?

Generally, isn’t it good to use php to do this?

Delay for 3 minutes sleep(3)
Keep executing the script set_time_limit(0)
Disconnect from the client and continue execution ignore_user_abort(0)

You can consider using swoole

You also need to send a heartbeat to it while reading, use php-cli to do it

swoole can easily handle your needs

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template