Home  >  Article  >  Backend Development  >  html - My website is made with PHP+MySQL+Javascript, which is used to display dynamic data in real time. Now I want to make an alarm light on the main interface. Please give me some advice!

html - My website is made with PHP+MySQL+Javascript, which is used to display dynamic data in real time. Now I want to make an alarm light on the main interface. Please give me some advice!

WBOY
WBOYOriginal
2016-09-28 08:54:111560browse

html - My website is made with PHP+MySQL+Javascript, which is used to display dynamic data in real time. Now I want to make an alarm light on the main interface. Please give me some advice!

Reply content:

html - My website is made with PHP+MySQL+Javascript, which is used to display dynamic data in real time. Now I want to make an alarm light on the main interface. Please give me some advice!

There are currently two mature solutions, Ajax polling and Web Socket, of course the latter is recommended.

As for what is said upstairsYour Web is developed by PHP server script. Unfortunately, Web Socket cannot establish communication with PHP. From my experience, this is wrong.

I have personally practiced it (both online projects and command line Web Sockets can be implemented, which are written in PHP). There is no problem in applying Web Socket in PHP. This is basically independent of language. You can take a look at walkerman and swoole in PHP.

Or you can choose this: http://socket.io/ This can be achieved by combining it with redis.

There are currently only two technologies for obtaining factual data on the front end without refreshing the page, Ajax and Web Socket. This requires comparing the differences between the two technologies. Ajax is a completely Web-based data acquisition technology, which means that the data it can obtain is actually the result of a Web server-side script that can use URL feedback. It is obviously very suitable for you. The current use, to be precise, the design is relatively simple. However, a big drawback of Ajax technology is that it can only passively obtain information. What is passive acquisition of information? Combine it with your application scenario, the temperature is changing, when does it change? When is the data updated? Obviously, the front-end js script is unpredictable. The only thing it can do is to set a timer and obtain data every n (milli) seconds. When the data changes between this time and the last time, the chart can be updated. Such a passive approach will cause a problem. The acquisition interval is too long, making it difficult to reflect "real-time" data. The interval is too short, and a large amount of useless information is loaded (that is, the current data is the same as the previous one), thus increasing the server's processing capacity. burden. So what's a better solution? Of course there is, Web Socket based on front-end development solves this problem. It establishes a communication line with the server. No matter which party it is, it can actively send messages, and the receiving party can feedback the results in real time. So why can’t this technology be used in your current application? First of all, your Web is developed by PHP server script. Unfortunately, Web Socket cannot establish communication with PHP. What you need is to develop a server-side script that can have active requests based on the server, such as Java Socket Server. This article will not go into too much detail on how to build it.

I’m not a master, I suggest you get it asynchronously through AJAX. As mentioned in the previous section, the display method depends on your own design needs.

Read it with ajax at regular intervals, such as every one minute or ten seconds

Statement:
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