Heim > PHP-Framework > Swoole > Hauptteil

Was soll ich tun, wenn Oppo keine Verbindung zu Swoole herstellen kann?

藏色散人
Freigeben: 2020-04-09 09:53:07
Original
2263 Leute haben es durchsucht

Was soll ich tun, wenn Oppo keine Verbindung zu Swoole herstellen kann?

Was soll ich tun, wenn ich keine Verbindung zu swoole herstellen kann? Websocket kann keine Verbindung zum von swoole aktivierten https-Server herstellen?

Probleme beim Verbinden von https in swoole

Vor einiger Zeit konsultierte ein Freund einen PHP-Blogger wegen des Problems der Websocket-Verbindung zu HTTPS. Die Online-Informationen waren sehr chaotisch, so auch der Blogger Ich habe es selbst ausprobiert. Einige Fragen und technische Zusammenfassungen werden mit Ihnen geteilt.

Der Server wird mit dem PHP-Erweiterungs-Swoole-Framework entwickelt und der Client wird mit Websocket in JS entwickelt.

Die HTTPS-Lösung lautet wie folgt:

1. Denken Sie daran, beim Kompilieren und Installieren von Swoole die Unterstützung für OpenSSL auszuwählen.

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

Lösung: Fügen Sie den PHP-Konfigurationspfad manuell hinzu

./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
Nach dem Login kopieren

3. Fügen Sie schließlich die Zertifikatsinformationen im Swoole-Code hinzu:

//初始化类的时候,加上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'));
Nach dem Login kopieren

4. Client-Verbindung:

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

Achten Sie darauf, ws in wss zu ändern, wenn Sie eine Verbindung zum Client herstellen.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Oppo keine Verbindung zu Swoole herstellen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage