>위챗 애플릿 >위챗 개발 >WeChat 개발 계약 요약

WeChat 개발 계약 요약

高洛峰
高洛峰원래의
2017-03-13 13:33:491635검색

이 튜토리얼을 통해 WeChat 개발 프로토콜에 대한 관련 지식을 공유하겠습니다요약설명이 매우 훌륭하고 관심 있는 친구들이 함께 살펴봐야 합니다.

1. 게시된 메시지는 ID에 해당합니다(단일 방향으로 고유한 경우 서비스 서버는 ID를 기준으로 반복 수신을 판단할 수 있음). 메시지 재전송 메커니즘은 제한된 수를 보장합니다. 재시도에 실패하면 메시지가 성공적으로 전송되면 확인 메시지가 다시 전송됩니다. 클라이언트는 확인 메시지를 받을 때까지 메시지가 성공적으로 전송되었는지 알 수 없습니다. 메시지를 보내면 새 동기화가 생성되지 않을 수 있습니다.

2. 버전 번호(SynKey) 상태 메시지 동기화 메커니즘을 기반으로 증분적이고 순차적인 전송 요구 사항이 자연스럽게 충족됩니다. 긴 연결 알림/짧은 연결 획득, 확인 등 간단한 상호 작용 방법으로 안정적이고 정확한 메시지 도착을 보장합니다.

3. 클라이언트/서버는 반복적인 소비를 피하기 위해 메시지 ID 처리 기록을 저장합니다. 클라이언트는 최신 메시지를 얻지만 서버는 메시지를 소비한 것으로 간주하지 않습니다. 클라이언트는 다음 번에 메시지를 다시 받아 현재 메시지가 처리되었는지 질의합니다. 몇 가지 현상을 토대로 추측해 보세요.

4. 일반적으로 WeChat 프로토콜은 크로스 플랫폼입니다(TCP 또는 HTTP가 제공될 수 있으며 처리 방법이 통일될 수 있음). 이는 "핸드셰이크"를 통해 동기화되며 어느 쪽이든 매우 안정적입니다. 플랫폼이라면 잘 지원될 수 있습니다

5. WeChat 프로토콜의 최소 비용은 16바이트입니다. 대부분의 경우 여러 메시지 패키지를 결합하여 일괄 전송합니다. WeChat 프로토콜은 가장 단순하지도 않고 가장 트래픽을 절약하지도 않지만 매우 성공적입니다.

6. 서버가 불확실한 요소를 감지하면 일반 TCP 긴 연결 전송을 위한 보안 소켓 계층 SSL 프로토콜이 미세하게 활성화될 수 있습니다. Short 연결은 변경되지 않았습니다

7. 메시지 전송 방법

설립된 TCP Long 연결 채널을 통해 메시지를 보내고 서버로 메시지를 보낸 후 확인 정보를 수락하는 등 ., 상호작용을 생성합니다.

친구가 정보를 받아 읽으면 서버 측 알림도 받게 되어 상호 작용 등이 발생합니다.

WeChat은 자체 상태 데이터에 영향을 미치지 않으므로 TCP 긴 연결 모드를 사용하여 메시지를 보내는 것을 확인할 수 있습니다.

저속 네트워크에서는 메시지 재전송 메커니즘에 속하는 메시지 전송 메시지를 볼 수 있습니다

네트워크가 좋지 않으면 클라이언트에 빨간색 느낌표가 표시되는 경우가 있습니다. 전송 실패 알림

서버에 메시지를 보냈지만 확인되지 않은 경우 클라이언트는 빨간색 느낌표를 표시하고 서버는 이를 중복 메시지로 처리하여 다시 보냅니다. 확인

업로드사진은 이미지 크기에 따라 여러 부분으로 나누어집니다(동시에 1.5K 정도씩 나누어집니다). 클라이언트는 여러 개의 POST 요청을 시작합니다. 각 업로드가 성공한 후 서버는 아마도 이를 병합할 것입니다. 완전한 그림은 앱 채팅 창에 표시되는 썸네일을 반환합니다. 일반 문자 메시지로

서버에 APP을 전송하여 오디오를 업로드한 후 TCP 채널을 별도로 사용하여 2초 정도 오디오를 녹음하면 클라이언트가 녹음을 완료합니다. , 전송을 위해 두 부분으로 나누어 하나의 최대 크기는 약 1.5K이며 서버는 수신 확인을 위해 데이터 알림으로 응답합니다. 총 3번의 데이터 전송.

오디오 및 일반 텍스트 정보는 모두 TCP 긴 연결을 통해 전송되고 클라이언트에서 전송되고 서버에서 확인됩니다.

위 내용은 편집자가 소개하는 위챗 개발 프로토콜을 요약한 것입니다. 궁금한 점이 있으면 메시지를 남겨주세요. 편집자가 시간에 맞춰 답변을 드릴 것입니다. 또한 Script House 웹사이트를 지원해 주신 모든 분들께 감사의 말씀을 전하고 싶습니다!

위 내용은 WeChat 개발 계약 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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