>  기사  >  위챗 애플릿  >  WeChat 개발 계약 설명

WeChat 개발 계약 설명

PHPz
PHPz원래의
2017-04-02 15:23:551662검색

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

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

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

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

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

6. 서버가 불확실한 요소를 감지하면 일반 TCP 긴 연결 전송을 위해 SSL(Secure Socket Layer) SSL 프로토콜이 마이크로 활성화될 수 있습니다. Short 연결은 변경되지 않았습니다

7. 메시지 전송 방법

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

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

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

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

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

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

이미지를 업로드하면 이미지 크기에 따라 여러 부분으로 나누어집니다(약 1.5K가 여러 부분으로 나누어짐). 동시에 클라이언트는 여러 POST 요청을 시작합니다. 각 업로드가 성공적으로 완료되면 서버는 이를 완전한 이미지로 병합하고 썸네일 이미지를 반환하여 앱 채팅 창에 표시됩니다. 일반 문자 메시지로

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

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

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

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