Home > Article > Backend Development > socket.io responds 2 seconds too slowly
1. How to prevent socket.io requests from being captured
2. Why is my socket.io request like this: two requests, one is post and one is get, one takes tens of milliseconds, and the other takes more than one second
3 .Brothers who have done chat rooms can chat privately and get paid
4. Socket cluster related and disconnection reconnection mechanism. After reading many articles, I temporarily built a single multi-node service with ip_hash and nginx load. There is no pressure yet. For testing, the server configuration is 4 cores and 8g memory.
5. There are many live streaming apps on the market, including PHP Workerman and NodeJS socketio for live broadcast chat rooms. The technology of each platform on the market is similar, and the first-line optimization and high concurrency are relatively powerful.
1. How to prevent socket.io requests from being captured
2. Why is my socket.io request like this: two requests, one is post and one is get, one takes tens of milliseconds, and the other takes more than one second
3 .Brothers who have done chat rooms can chat privately and get paid
4. Socket cluster related and disconnection reconnection mechanism. After reading many articles, I temporarily built a single multi-node service with ip_hash and nginx load. There is no pressure yet. For testing, the server configuration is 4 cores and 8g memory.
5. There are many live broadcast apps on the market, including PHP Workerman and NodeJS socketio for live broadcast chat rooms. The technology of each platform on the market is similar, and the first-line optimization and high concurrency are relatively powerful.
First we need to clarify a question. When talking about [high concurrency] and typical [C10K] issues. Look outside the program to see the problem.
The world's No. 1 development language gives you a VPS with 128M memory. Should it be slower or slower?
The world's No. 1 configured server gives you 128kbps export bandwidth, should you choose slower or slower?
Then answer the question.
1. How to prevent socket.io requests from being captured
No solution, as long as there is a network request, the packet will be captured. The only thing you can do is encrypt the packet. New question, how to prevent decryption. There is no solution. The reverse process of encryption is called decryption. If there is encryption, there must be a decryption algorithm. If you use HTTPS, it can only prevent middlemen, but it cannot prevent local users from capturing packets. On the other hand, if you use a private protocol, sorry, it still won’t work, because if you use socket.io
, it must be a web application? Are all encryption operations, including encryption algorithms, also disclosed on the web page? Conclusion: Increase the cost of packet capture and decryption as much as possible so that the investment of those who capture packets and try to decrypt the packet exceeds the output. Who will help you?
2. Why is my socket.io request...
I don’t know how to write your js. Either the browser you are using for testing does not support websocket, and your screenshot shows the LONGPOLL mode of socket.io. If the browser does not support websocket, first consider the flash proxy. If it does not support flash, you can only use longpoll mode (specific noun Baidu)
4.Socket cluster related and disconnection reconnection mechanism
Problems at the code logic level. The simplest front-end is a haproxy or nginx-resistant. Backend to multiple backends. There is a Gateway or other logical processing in the middle to save the connections of each client. Remove after disconnection. To send a message to the client, first find which server the client is connected to and then instruct the server to send the data.
5. There are many live broadcast apps on the market. For live chat rooms, there are php workerman and nodejs socketio...
Video streaming is not just a matter of language and technology. There are professional RTMP solutions and ready-made open source solutions everywhere, it just depends on which one is more expensive and stable. Nodejs/php currently only does barrage and real-time chat. I have never seen anyone who actually uses nodejs/php to process real-time video streaming data.