>PHP 프레임워크 >Swoole >Oppo가 Swoole에 연결할 수 없으면 어떻게 해야 합니까?

Oppo가 Swoole에 연결할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-04-09 09:53:072314검색

Oppo가 Swoole에 연결할 수 없으면 어떻게 해야 합니까?

swoole에 연결할 수 없으면 어떻게 해야 하나요? Websocket은 swoole에서 활성화된 https 서버에 연결할 수 없습니까?

Swoole에서 https 연결 문제

얼마 전 한 친구가 PHP 블로거에게 웹소켓을 HTTPS로 연결하는 문제에 대해 문의했습니다. 온라인 정보가 너무 지저분해서 블로거도 직접 몇 가지 문제를 시도하고 기술 요약을 공유했습니다. 모든 사람.

서버는 PHP 확장 Swoole 프레임워크를 사용하여 개발되었으며, 클라이언트는 JS에서 websocket을 사용하여 개발되었습니다.

HTTPS 솔루션은 다음과 같습니다.

1. swoole을 컴파일하고 설치할 때 openssl을 지원하도록 선택해야 합니다.

cd swoole_srcphpize ./configure --enable-openssl make && make install
2.如果遇到报错configure: error: Cannot find php-config. Please use --with-php-config=PATH

해결책: php-config 경로를 수동으로 추가하세요

./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl

3. 마지막으로 swoole 코드에 인증서 정보를 추가하세요:

//初始化类的时候,加上openssl参数
$serv = new swoole_websocket_server(":", 8080, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
//配置证书文件位置
$key_dir = "YOUR_KEY_DIR";
$serv->set(array( 'work_num'=>1, 'ssl_cert_file'=>$key_dir.'/file.crt','ssl_key_file'=>$key_dir.'file.key'));

4 클라이언트 연결:

var wsl = "wss://domain/path";//证书的域名 ws = new WebSocket(wsl);

클라이언트에 연결할 때 ws를 wss로 변경하세요. .

위 내용은 Oppo가 Swoole에 연결할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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