찾다
PHP 프레임워크SwooleSwoole은 어떤 프로토콜을 사용합니까?

Swoole은 어떤 프로토콜을 사용합니까?

TCP는 스트리밍 프로토콜입니다. 클라이언트가 서버에 데이터를 보낸 후 서버에서 한 번에 완전히 수신되지 않을 수 있습니다. 클라이언트는 여러 개의 데이터를 서버에 보내고, 서버는 이를 한꺼번에 받을 수 있습니다. ㅋㅋㅋ                                                                                  (추천 학습: swoole 비디오 튜토리얼 )

실습 , 우리는 서버가 한 번에 더도 덜도 아닌 완전한 데이터 조각을 받을 수 있기를 바랍니다.

기존 TCP 서버에서 프로그래머는 캐시 영역을 유지하고 먼저 읽은 데이터를 캐시 영역에 쓴 다음 미리 설정된 프로토콜 내용을 통해 전체 데이터 조각의 시작, 끝 및 길이를 구별해야 하는 경우가 많습니다. 처리를 위해 완전한 데이터 조각을 논리적 부분으로 전달하는 것이 사용자 정의 프로토콜의 기능입니다.

Swoole에서는 데이터 캐시 영역이 하위 계층에 구현되었으며 일반적으로 사용되는 여러 프로토콜 유형이 내장되었습니다. 데이터는 하위 계층에서 직접 분할되어 onReceive 콜백 함수에서 a 또는 여러 완전한 데이터 세그먼트.

pakcage_max_length를 구성하여 데이터 버퍼의 크기를 제어할 수 있습니다.

$configs = [];
$configs["package_max_length"] = 8192;
$server->set($configs);

swoole은 현재 EOF 터미네이터 프로토콜과 고정 헤더 및 본문 프로토콜의 두 가지 통신 프로토콜을 지원합니다.

package_max_length

package_max_length는 open_length_check, open_eof_check 또는 open_http_protocol 및 기타 프로토콜 구문 분석이 활성화된 경우 최대 패킷 크기를 설정하는 데 사용됩니다. 하위 계층은 데이터 패킷 접합을 처리합니다. 이때 데이터 패킷이 완전히 수신되지 않으면 모든 데이터가 메모리에 저장됩니다.

따라서 package_max_length를 데이터 패킷의 최대 허용 메모리 크기로 설정해야 합니다.

동시에 데이터를 보내는 10,000개의 TCP 연결이 있다면 각 데이터 패킷은 2MB이며, 가장 극단적인 경우 20GB의 메모리 공간을 차지하게 됩니다. 따라서 이 매개변수를 너무 크게 설정하면 안 됩니다. 그렇지 않으면 많은 메모리를 차지하게 됩니다.

관련 구성 옵션

open_length_check

데이터 패킷의 길이가 package_max_length를 초과하는 것으로 확인되면 데이터를 직접 폐기하고 연결이 종료되므로 메모리를 차지하지 않으며 웹소켓에 적합합니다. mqtt, http2 프로토콜.

open_eof_check

데이터 패킷의 길이를 미리 알 수 없기 때문에 수신된 데이터는 계속해서 메모리에 저장되며 계속해서 늘어납니다. 메모리 사용량이 package_max_length를 초과한 것으로 확인되면 데이터 패킷이 직접 삭제되고 연결이 종료됩니다.

open_http_protocol

HTTP GET 요청은 최대 8KB 데이터를 허용하며 이 구성은 수정할 수 없습니다. POST 요청은 package_max_length를 초과한 것으로 확인되면 HTTP 400 오류로 인해 데이터가 직접 삭제됩니다. 전송되고 연결이 종료됩니다.

EOF 프로토콜

은 EOF 프로토콜이라고 하는 분할 프로토콜의 표시로 일반 데이터에 표시되지 않는 고정된 문자열 세트 /r/n을 사용합니다.

EOF 프로토콜이 무엇인가요?

EOF는 파일 끝(End of File)을 나타내며 rn을 끝 태그로 사용합니다.

데이터 스트림의 데이터를 하나씩 읽을 때 EOF 표시가 읽혀지면 데이터의 끝을 읽었다는 의미입니다.

TCP 데이터 흐름에서 EOF 프로토콜을 사용하는 데이터 흐름의 특징은 |data|EOF|data|EOF|입니다.

EOF 프로토콜 처리의 원리는 일반 데이터의 각 문자열 끝에 데이터에 절대 나타나지 않는 미리 정해진 문자열을 끝 표시로 추가하여 수신된 데이터를 EOF에 따라 나눌 수 있다는 것입니다. 표시. .

일반적인 memcached, ftp 및 stmp는 모두 /r/n을 종결자로 사용합니다. 데이터를 보낼 때 데이터 패킷 끝에 /r/n을 추가하면 됩니다.

EOF 프로토콜 처리를 사용할 때 데이터 패킷 중간에 EOF가 발생하지 않는지 확인하세요. 그렇지 않으면 하위 패키징 오류가 발생합니다.

Swoole은 어떤 프로토콜을 사용합니까?

위 내용은 Swoole은 어떤 프로토콜을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Swoole Open-Source 프로젝트에 어떻게 기여할 수 있습니까?Swoole Open-Source 프로젝트에 어떻게 기여할 수 있습니까?Mar 18, 2025 pm 03:58 PM

이 기사는 버그보고, 기능 제출, 코딩 및 문서 개선을 포함하여 Swoole Project에 기여하는 방법을 설명합니다. 초보자가 기여를 시작하기 위해 필요한 기술과 단계에 대해 논의하고, 압박을 찾는 방법은

사용자 정의 모듈로 Swoole을 어떻게 확장합니까?사용자 정의 모듈로 Swoole을 어떻게 확장합니까?Mar 18, 2025 pm 03:57 PM

기사는 사용자 정의 모듈, 상세 단계, 모범 사례 및 문제 해결과 함께 Swoole을 확장하는 것을 논의합니다. 주요 초점은 기능과 통합을 향상시키는 것입니다.

Swoole의 비동기 I/O 기능을 어떻게 사용합니까?Swoole의 비동기 I/O 기능을 어떻게 사용합니까?Mar 18, 2025 pm 03:56 PM

이 기사에서는 고성능 응용 프로그램을 위해 PHP에서 Swoole의 비동기 I/O 기능을 사용하는 것에 대해 설명합니다. 설치, 서버 설정 및 최적화 전략을 다룹니다. 워드 수 : 159

Swoole의 프로세스 격리를 어떻게 구성합니까?Swoole의 프로세스 격리를 어떻게 구성합니까?Mar 18, 2025 pm 03:55 PM

기사는 Swoole의 프로세스 격리 구성, 개선 된 안정성 및 보안 및 문제 해결 방법과 같은 이점에 대해 논의합니다. 문자 수 : 159

Swoole의 원자로 모델은 어떻게 작동합니까?Swoole의 원자로 모델은 어떻게 작동합니까?Mar 18, 2025 pm 03:54 PM

Swoole의 원자로 모델은 이벤트 중심의 비 블로킹 I/O 아키텍처를 사용하여 다양한 기술을 통해 성능을 최적화하는 고소도 시나리오를 효율적으로 관리합니다 (159 자)

Swoole에서 연결 문제를 해결하려면 어떻게해야합니까?Swoole에서 연결 문제를 해결하려면 어떻게해야합니까?Mar 18, 2025 pm 03:53 PM

기사는 PHP 프레임 워크 인 Swoole의 연결 문제 해결, 원인, 모니터링 및 예방에 대해 논의합니다.

Swoole의 성능을 모니터링하는 데 어떤 도구를 사용할 수 있습니까?Swoole의 성능을 모니터링하는 데 어떤 도구를 사용할 수 있습니까?Mar 18, 2025 pm 03:52 PM

이 기사는 Swoole의 성능 모니터링 및 최적화를위한 도구 및 모범 사례에 대해 설명하고 성능 문제를위한 문제 해결 방법에 대해 설명합니다.

SWOOLE 애플리케이션에서 메모리 누출을 어떻게 해결합니까?SWOOLE 애플리케이션에서 메모리 누출을 어떻게 해결합니까?Mar 18, 2025 pm 03:51 PM

초록 :이 기사에서는 부적절한 자원 관리 및 관리되지 않는 코 루틴과 같은 일반적인 원인을 강조하여 식별, 격리 및 고정을 통해 Swoole 애플리케이션의 메모리 누출 해결에 대해 설명합니다. Swoole 트래커 및 Valgrind와 같은 도구

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기