Home  >  Article  >  Backend Development  >  socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

WBOY
WBOYOriginal
2016-08-30 09:36:432055browse

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. socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

Reply content:

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. socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

socket.io responds 2 seconds too slowly

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.

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