Swoole 1.10.0 새 버전 출시, 많은 새로운 기능 분석 추가
Swoole 버전 1.10.0이 최근 출시되어 많은 새로운 기능이 추가되었으므로 다음 글에서는 Swoole 1.10.0 버전의 새로운 기능에 대한 관련 정보를 주로 소개하고 친구들이 참고할 수 있도록 공유합니다.
머리말
Swoole은 인터넷, 이동통신, 기업용 소프트웨어, 클라우드 등 다양한 영역에서 활용이 가능합니다. 컴퓨팅, 온라인 게임, 사물 인터넷(IOT), 차량 인터넷, 스마트 홈 및 기타 분야. PHP + Swoole을 네트워크 통신 프레임워크로 사용하면 기업 IT R&D 팀의 효율성이 크게 향상되고 혁신적인 제품 개발에 더 집중할 수 있습니다. 최근 PHP의 비동기, 병렬, 고성능 네트워크 통신 엔진 Swoole 버전 1.10.0이 출시되었습니다. 이 버전에는 몇 가지 새로운 기능이 추가되었습니다. 아래에서는 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.
자동 DNS 확인
새 버전의 비동기 클라이언트에는 더 이상 다음이 필요하지 않습니다. swoole_async_dns_lookup 사용 도메인 이름이 확인되고 하단 레이어는 자동 도메인 이름 확인을 구현합니다. 클라이언트는 연결 메소드를 실행할 때 도메인 이름을 직접 전달할 수 있습니다.
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); $client->on("connect", function(swoole_client $cli) { $cli->send("GET / HTTP/1.1\r\n\r\n"); }); $client->on("receive", function(swoole_client $cli, $data){ echo "Receive: $data"; $cli->send(str_repeat('A', 100)."\n"); sleep(1); }); $client->on("error", function(swoole_client $cli){ echo "error\n"; }); $client->on("close", function(swoole_client $cli){ echo "Connection close\n"; }); //底层会自动进行异步域名解析 $client->connect('www.baidu.com', 9501);
느린 요청 로그
# 🎜 🎜#
function test() { test_sleep(); } function test_sleep() { echo "sleep 5\n"; sleep(5); } $server = new swoole_server('127.0.0.1', 9501); $server->set([ 'worker_num' => 1, 'task_worker_num' => 1, 'trace_event_worker' => true, 'request_slowlog_timeout' => 1, 'request_slowlog_file' => '/tmp/trace.log', ]); $server->on('Receive', function($serv, $fd, $reactor_id, $data) { test(); $serv->send($fd, "Swoole: $data"); }); $server->start();
[08-Jan-2018 15:21:57] [worker#0] pid 26905 [0x00007f60cda22340] sleep() /home/htf/workspace/swoole/examples/server/trace.php:10 [0x00007f60cda222e0] test_sleep() /home/htf/workspace/swoole/examples/server/trace.php:4 [0x00007f60cda22280] test() /home/htf/workspace/swoole/examples/server/trace.php:28 [0x00007f60cda22190] {closure}() /home/htf/workspace/swoole/examples/server/trace.php:42 [0x00007f60cda22140] start() /home/htf/workspace/swoole/examples/server/trace.php:42
# 🎜🎜 ##🎜 🎜 #새로운 스트림 모듈은 Reactor, Worker 및 Task 프로세스 간의 통신 방식을 더욱 유연하고 최대한 분리시킵니다. 복잡한 온라인 프로젝트는 스트림 모드를 사용하여 요청 할당 및 예약을 보다 효율적으로 만듭니다.
$serv = new swoole_server("127.0.0.1", 9501); $serv->set(array( 'dispatch_mode' => 7, 'worker_num' => 2, )); $serv->on('receive', function (swoole_server $serv, $fd, $threadId, $data) { var_dump($data); echo "#{$serv->worker_id}>> received length=" . strlen($data) . "\n"; }); $serv->start();
# 🎜🎜#
- 작업자와 작업 간의 통신, task_ipc_mode = 4를 사용하여
추가된 이벤트: :cycle function
사용자 코드는 각 이벤트 루프의 끝에서 호출되는 EventLoop 후크 함수를 사용자 정의할 수 있습니다. 자체 스케줄러를 구현하려면 Generator + Yield 또는 Promise-like Swoole 프레임워크를 사용하는 것이 편리합니다.
Swoole\Timer::tick(2000, function ($id) { var_dump($id); }); Swoole\Event::cycle(function () { echo "hello [1]\n"; Swoole\Event::cycle(function () { echo "hello [2]\n"; Swoole\Event::cycle(null); }); });
기타 업데이트
#🎜 🎜 # 부호 있는 정수를 지원하도록 Table::incr 및 Table::decr 업데이트
Event::del 함수가 표준 입력 핸들을 제거할 수 없는 문제 수정
작업 수정 프로세스 기본값 타이머 간격이 클라이언트 수신 시간 초과보다 작아서 클라이언트::recv 교착 상태 문제가 발생합니다
ssl_host_name 구성 항목을 추가하여 SSL의 적법성을 확인합니다. /TLS 호스트#🎜 🎜#
- dispatch_mode = 3을 사용하면 모든 작업자가 바쁠 때 오류 로그가 인쇄됩니다 #🎜 🎜#수신 포트의 모든 연결을 탐색할 수 있는 포트 반복자 추가
- x86이 아닌 플랫폼에서 테이블의 메모리 정렬 문제 해결
- #🎜🎜 ##🎜🎜 #
BASE 모드에서 잘못된 max_request 구성 문제 수정
일부 클라이언트 ping 시 WebSocket 서버가 잘못된 패킷을 반환하는 문제 수정 프레임에 마스크 데이터가 포함되어 있음
-
HttpClient가 HEAD 메서드를 사용하여 Content-Length를 전달하는 콘텐츠에 응답하여 중단되는 문제 해결
#🎜🎜 # - JSON 형식에 대한 MySQL 비동기 클라이언트 지원 추가
- 다운로드 주소 #🎜🎜 #
-
- 오픈 소스 중국: https: //gitee.com/swoole/swoole/ tree/v1.10.0/PECL: https://pecl.php.net/package/swoole/1.10.0 #🎜🎜 #로컬 다운로드: http://xiazai.jb51.net/201801/yuanma/swoole-src-1.10.0(jb51.net).rar
summary# 🎜🎜##🎜🎜 #
인쇄 방법에 대한 설명 예 PHP의 행렬(나선형 행렬) 시계 방향
PHP에서 이진 트리가 대칭인지 확인하는 방법에 대한 설명 디렉토리의 모든 파일에 대한 방법의 예위 내용은 Swoole 1.10.0 새 버전 출시, 많은 새로운 기능 분석 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Numpy는 Python의 중요한 수학 라이브러리로 효율적인 배열 연산과 과학적인 계산 기능을 제공하며 데이터 분석, 기계 학습, 딥 러닝 및 기타 분야에서 널리 사용됩니다. numpy를 사용할 때, 현재 환경에서 지원하는 기능을 확인하기 위해 numpy의 버전 번호를 확인해야 하는 경우가 많습니다. 이 기사에서는 numpy 버전을 빠르게 확인하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 방법 1: numpy와 함께 제공되는 __version__ 속성을 사용하세요. numpy 모듈은 __과 함께 제공됩니다.

Maven 버전을 확인하는 방법: 1. 명령줄을 사용합니다. 2. 환경 변수를 확인합니다. 3. IDE를 사용합니다. 4. pom.xml 파일을 확인합니다. 자세한 소개: 1. 명령줄을 사용하여 명령줄에 "mvn -v" 또는 "mvn --version"을 입력한 다음 Enter를 누르면 Maven 버전 정보와 Java 버전 정보가 표시됩니다. 변수, 일부 시스템에서는 환경 변수를 확인하여 Maven 버전 정보를 찾고, 명령줄에 명령을 입력한 다음 Enter 키를 누르는 등의 작업을 수행할 수 있습니다.

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

Kylin 운영 체제 버전 및 커널 버전 확인 Kirin 운영 체제에서 시스템 버전 및 커널 버전을 확인하는 방법을 아는 것은 시스템 관리 및 유지 관리의 기초입니다. Kylin 운영 체제 버전을 확인하는 방법 1: /etc/.kyinfo 파일을 사용하여 Kylin 운영 체제 버전을 확인하려면 /etc/.kyinfo 파일을 확인하세요. 이 파일에는 운영 체제 버전 정보가 포함되어 있습니다. 다음 명령을 실행합니다: cat/etc/.kyinfo 이 명령은 운영 체제의 자세한 버전 정보를 표시합니다. 방법 2: /etc/issue 파일 사용 운영 체제 버전을 확인하는 또 다른 방법은 /etc/issue 파일을 보는 것입니다. 이 파일은 버전 정보도 제공하지만 .kyinfo 파일만큼 좋지 않을 수 있습니다.

1분 안에 완료: pip 버전을 업데이트하려면 특정 코드 예제가 필요합니다. Python의 급속한 발전으로 pip는 Python 패키지 관리를 위한 표준 도구가 되었습니다. 그러나 시간이 지남에 따라 pip 버전은 지속적으로 업데이트됩니다. 최신 기능을 사용하고 가능한 보안 취약점을 수정하려면 pip 버전을 업데이트하는 것이 매우 중요합니다. 이 글에서는 1분 안에 pip를 빠르게 업데이트하는 방법을 소개하고 구체적인 코드 예시를 제공합니다. 먼저 명령줄 창을 열어야 합니다. Windows 시스템에서는 다음을 사용할 수 있습니다.

설치된 Oracle 버전을 쉽게 확인하려면 특정 코드 예제가 필요합니다. 기업 수준의 데이터베이스 관리 시스템에서 널리 사용되는 소프트웨어로 Oracle 데이터베이스에는 다양한 버전과 설치 방법이 있습니다. 일상 업무에서 우리는 해당 운영 및 유지 관리를 위해 설치된 Oracle 데이터베이스 버전을 확인해야 하는 경우가 많습니다. 이번 글에서는 설치된 오라클 버전을 쉽게 확인하는 방법과 구체적인 코드 예시를 소개하겠습니다. 방법 1: Oracle 데이터베이스의 SQL 쿼리를 통해 다음을 수행할 수 있습니다.

DP 인터페이스는 컴퓨터를 사용할 때 DP 인터페이스가 1.2인지 1.4인지 확인하는 방법을 알고 싶어하는 중요한 인터페이스 케이블입니다. 실제로 GPU-Z에서만 확인하면 됩니다. dp 인터페이스가 1.2인지 1.4인지 확인하는 방법: 1. 먼저 GPU-Z에서 "Advanced(고급)"를 선택합니다. 2. "Advanced" 아래의 "General"에서 "Monitor1"을 보면 "LinkRate(현재)"와 "Lanes(현재)" 두 항목을 볼 수 있습니다. 3. 마지막으로 8.1Gbps×4가 표시되면 DP1.3 버전 이상을 의미하며, 일반적으로 5.4Gbps×4인 경우 DP1.4를 의미합니다.

Llama3에 대해 새로운 테스트 결과가 공개되었습니다. 대형 모델 평가 커뮤니티 LMSYS가 공개한 대형 모델 순위 목록에서 Llama3는 5위에 올랐으며, 영어 부문에서는 GPT-4와 함께 공동 1위를 차지했습니다. 다른 벤치마크와는 그림이 다릅니다. 이 목록은 모델 간 1:1 대결을 기반으로 하며, 네트워크 전체의 평가자들이 각자의 제안과 점수를 내립니다. 결국 Llama3가 5위를 차지했고, GPT-4와 Claude3 Super Cup Opus의 세 가지 버전이 그 뒤를 이었습니다. 영어 싱글 목록에서는 Llama3가 Claude를 제치고 GPT-4와 동점을 기록했습니다. 이 결과에 대해 Meta의 수석 과학자 LeCun은 매우 기뻐했으며 트윗을 통해 다음과 같이 말했습니다.
