>  기사  >  백엔드 개발  >  Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

WBOY
WBOY원래의
2016-08-30 09:36:432023검색

1. 소켓.io 요청이 캡처되는 것을 방지하는 방법
2. 내 소켓.io 요청이 다음과 같은 이유는 다음과 같습니다. 하나는 게시이고 하나는 가져오고 하나는 수십 밀리초이고 다른 하나는 요청입니다. 1초 이상
3. 채팅방을 만든 선배들이 비공개로 채팅하고 돈을 받을 수 있습니다
4. 소켓 클러스터 관련 및 연결 끊김 재연결 메커니즘 많은 기사를 읽은 후 ip_hash를 사용하여 임시로 단일 다중 노드를 구축했습니다. , nginx 로드 서비스는 아직 스트레스 테스트를 거치지 않았습니다. 서버 구성은 4코어 및 8g 메모리입니다.
5. 시중에는 많은 라이브 방송 앱이 있습니다. 라이브 방송 채팅방에는 PHP Workerman과 NodeJS 소켓티오가 있으며, 시중에 나와 있는 각 플랫폼의 기술은 유사하며 1차 최적화 및 높은 동시성이 있습니다. 상대적으로 강력합니다. Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

답글 내용:

1. 소켓.io 요청이 캡처되는 것을 방지하는 방법
2. 내 소켓.io 요청이 다음과 같은 이유는 다음과 같습니다. 하나는 게시이고 하나는 가져오고 하나는 수십 밀리초이고 다른 하나는 요청입니다. 1초 이상
3. 채팅방을 만든 선배들이 비공개로 채팅하고 돈을 받을 수 있습니다
4. 소켓 클러스터 관련 및 연결 끊김 재연결 메커니즘 많은 기사를 읽은 후 ip_hash를 사용하여 임시로 단일 다중 노드를 구축했습니다. , nginx 로드 서비스는 아직 스트레스 테스트를 거치지 않았습니다. 서버 구성은 4코어 및 8g 메모리입니다.
5. 시중에는 많은 라이브 방송 앱이 있습니다. 라이브 방송 채팅방에는 PHP Workerman과 NodeJS 소켓티오가 있으며, 시중에 나와 있는 각 플랫폼의 기술은 유사하며 1차 최적화 및 높은 동시성이 있습니다. 상대적으로 강력합니다. Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

Socket.io가 2초 동안 너무 느리게 응답합니다.

우선 문제를 명확히 해야 합니다. [높은 동시성] 및 일반적인 [C10K] 문제에 관해 이야기할 때. 문제를 보려면 프로그램 외부를 살펴보십시오.

128M 메모리의 VPS를 제공하는 세계 1위 개발 언어, 더 느려야 할지 선택해야 할까요?
세계 1위 구성 서버는 128kbps 내보내기 대역폭을 제공합니다. 더 느린 것을 선택해야 합니까?

그럼 질문에 답해 보세요.

1.socket.io 요청이 캡처되는 것을 방지하는 방법

해결 방법은 없습니다. 네트워크 요청이 있는 한 패킷이 캡처됩니다. 당신이 할 수 있는 유일한 일은 패킷을 암호화하는 것입니다. 새로운 질문, 암호 해독을 방지하는 방법. 암호화의 역과정을 복호화라고 하는데, 암호화가 있으면 복호화 알고리즘이 있어야 하는데, HTTPS를 사용하면 중개인을 막을 수 있을 뿐, 로컬 사용자가 패킷을 캡처하는 것을 막을 수는 없습니다. 반면에 개인 프로토콜을 사용하면 죄송합니다. socket.io를 사용하면 웹 애플리케이션이어야 하기 때문에 여전히 작동하지 않습니다. 암호화 알고리즘을 포함한 모든 암호화 작업도 웹페이지에 공개되나요?
结论:尽可能的增加抓包、解密的成本让抓包、尝试解密者投入大于产出。谁还会去解你。

2. 내 소켓.io 요청은 왜...

JS를 어떻게 작성하는지 모르겠습니다. 테스트에 사용하는 브라우저가 websocket을 지원하지 않으며 스크린샷에 소켓.io의 LONGPOLL 모드가 표시됩니다. 브라우저가 웹소켓을 지원하지 않는다면 먼저 플래시 프록시를 고려해 보세요. 플래시를 지원하지 않는다면 롱폴 모드(특정명사 바이두)만 사용할 수 있습니다

4. 소켓 클러스터 관련 및 연결 끊김 재연결 메커니즘

코드 로직 수준의 문제. 가장 간단한 프런트 엔드는 haproxy 또는 nginx 저항성입니다. 여러 백엔드에 대한 백엔드. 각 클라이언트의 연결을 저장하기 위해 중간에 게이트웨이 또는 기타 논리적 처리가 있습니다. 분리 후 제거하세요. 클라이언트에게 메시지를 보내려면 먼저 클라이언트가 연결된 서버를 찾은 다음 서버에 데이터를 보내도록 지시합니다.

5. 라이브 채팅방을 위한 php Workerman 및 nodejs Socketio를 포함하여 시중에는 많은 라이브 스트리밍 앱이 있습니다...

동영상 스트리밍은 단순히 언어와 기술의 문제가 아닙니다. 전문적인 RTMP 솔루션과 기성 오픈 소스 솔루션이 어디에나 있으며, 어느 것이 더 비싸고 안정적인지에 따라 다릅니다. Nodejs/php는 현재 공격과 실시간 채팅만 수행합니다. 실시간 비디오 스트리밍 데이터를 처리하기 위해 실제로 nodejs/php를 사용하는 사람을 본 적이 없습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.