Maison > cadre php > Swoole > le corps du texte

Que dois-je faire si Oppo ne parvient pas à se connecter à Swoole ?

藏色散人
Libérer: 2020-04-09 09:53:07
original
2271 Les gens l'ont consulté

Que dois-je faire si Oppo ne parvient pas à se connecter à Swoole ?

Que dois-je faire si je n'arrive pas à me connecter à swoole ? Websocket ne parvient pas à se connecter au serveur https activé par swoole ?

Problèmes de connexion de https dans swoole

Il y a quelque temps, un ami a interrogé un blogueur PHP sur le problème de connexion de Websocket à HTTPS. Les informations en ligne étaient très compliquées, donc le blogueur également. l'a essayé lui-même. Certaines questions et résumés techniques sont partagés avec vous.

Le serveur est développé à l'aide du framework PHP étendu Swoole et le client est développé à l'aide de websocket en JS.

La solution HTTPS est la suivante :

1. N'oubliez pas de sélectionner le support d'openssl lors de la compilation et de l'installation de swoole.

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

Solution : ajoutez manuellement le chemin php-config

./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
Copier après la connexion

3. Ajoutez enfin les informations du certificat dans le code 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'));
Copier après la connexion

4.

var wsl = "wss://domain/path";//证书的域名 ws = new WebSocket(wsl);
Copier après la connexion
Assurez-vous de remplacer ws par wss lors de la connexion au client.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal