>PHP 프레임워크 >Swoole >Swoole 연구 노트 기록

Swoole 연구 노트 기록

coldplay.xixi
coldplay.xixi앞으로
2021-01-22 10:07:252206검색

Swoole 연구 노트 기록

권장(무료): swoole

1. 설치

현재 공식적으로 권장하는 두 가지 방법

1). 2) 소스로 사용하세요. 코드를 설치하려면 swoole의 릴리스 버전을 다운로드하는 것이 좋습니다. github 트렁크에서 코드 컴파일을 가져오지 않고 tar 패키지를 직접 다운로드하는 것이 가장 좋습니다.

swoole 패키지 다운로드 주소

그런 다음

pecl install swoole

2.php.ini 확장자를 변경하고

php.ini 구성 파일을 수정하고 php -i |grep php.ini 명령을 사용하여 확인하세요. php.ini 위치 구성 추가

    wget https://github.com/swoole/swoole-src/archive/v2.0.7.tar.gz
    tar -zxf v2.0.7.tar.gz
    cd swoole-src-2.0.7/
    phpize     //如果执行这个命令没有任何显示的话,使用apt-get install php7.0-dev安装包
    ./configure
    make && make install

swoole이 성공적으로 로드되었는지 확인하려면 php -m 또는 phpinfo()를 사용하세요.

3. Chestnut TCP 서버, 3방향 핸드셰이크

소켓에 대한 간단한 이해

Write 서버. php

    extension=swoole.so

4. 시작

    //创建Server对象,监听 127.0.0.1:9501端口$serv = new swoole_server("127.0.0.1", 9501); 

    //监听连接进入事件$serv->on('connect', function ($serv, $fd) { 
        echo "Client: Connect.\n";
    });

    //监听数据接收事件$serv->on('receive', function ($serv, $fd, $from_id, $data) {
        $serv->send($fd, "Server: ".$data);
        echo "Receive message:$data";
        //关闭连接(当然,也可以不关闭,不关闭的话会一直等待接收命令而无法退出)
        $serv->close($fd);
    });

    //监听连接关闭事件$serv->on('close', function ($serv, $fd) {
        echo "Client: Close.\n";
    });

    //启动服务器$serv->start();
서비스가 시작된 후 커서는 여기서 멈추고 다른 사용자가 연결될 때까지 기다립니다.

5. 연결을 확인하세요

netstat -an | grep port 명령을 사용하여 포트가 Listening 상태인지 확인하세요

    php server.php
(PS: 서버에서 사용하는 IP 주소에 주의하세요. 127.0.0.1 루프백 주소, 클라이언트 127.0.0.1)


6. TCP 서버 테스트

새 창을 열고 텔넷을 사용하여 서버에 연결합니다

    netstat -an | grep 9501
이때 관찰하세요. 서비스를 시작하는 기계에는 반환 데이터가 있는 것을 확인할 수 있습니다

    telnet 127.0.0.1 9501
클라이언트로 돌아가서 hellp 세계에 들어가고 쓰기 및 읽기가 성공한 것을 확인합니다

    php server.php
    > Client:Connect.

위 내용은 Swoole 연구 노트 기록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제