亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

workerman配置wss的方法

發布時間:2021-01-08 16:10:03 來源:億速云 閱讀:621 作者:小新 欄目:編程語言

這篇文章主要介紹workerman配置wss的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Workerman如何創建一個wss服務,使得客戶端可以用過wss協來連接通訊,比如在微信小程序中連接服務端。

答:

wss協議實際是websocket+SSL,就是在websocket協議上加入SSL層,類似https(http+SSL)。

所以只需要在websocket協議的基礎上開啟SSL即可支持wss協議。        

直接用Workerman開啟SSL

準備工作:

1、Workerman版本不小于3.3.7

2、PHP安裝了openssl擴展

3、已經申請了證書(pem/crt文件及key文件)放在磁盤任意目錄

代碼:

<?php
require_once __DIR__ . '/Workerman/Autoloader.php';
use Workerman\Worker;

// 證書最好是申請的證書
$context = array(
    // 更多ssl選項請參考手冊 http://php.net/manual/zh/context.ssl.php
    'ssl' => array(
        // 請使用絕對路徑
        'local_cert'                 => '磁盤路徑/server.pem', // 也可以是crt文件
        'local_pk'                   => '磁盤路徑/server.key',
        'verify_peer'                => false,
        // 'allow_self_signed' => true, //如果是自簽名證書需要開啟此選項
    )
);
// 這里設置的是websocket協議(端口任意,但是需要保證沒被其它程序占用)
$worker = new Worker('websocket://0.0.0.0:443', $context);
// 設置transport開啟ssl,websocket+ssl即wss
$worker->transport = 'ssl';
$worker->onMessage = function($con, $msg) {
    $con->send('ok');
};

Worker::runAll();

通過以上的代碼,Workerman就監聽了wss協議,客戶端就可以通過wss協議來連接workerman實現安全即時通訊了。

測試

打開chrome瀏覽器,按F12打開調試控制臺,在Console一欄輸入(或者把下面代碼放入到html頁面用js運行)

// 證書是會檢查域名的,請使用域名連接
ws = new WebSocket("wss://域名");
ws.onopen = function() {
    alert("連接成功");
    ws.send('tom');
    alert("給服務端發送一個字符串:tom");
};
    ws.onmessage = function(e) {
    alert("收到服務端的消息:" + e.data);
    };

注意:

1、如果無法啟動,則一般是443端口被占用,請改成其它端口,注意改成其它端口后客戶端連接時需要帶上端口號,客戶端連接時地址類似wss://domain.com:xxx ,xxx為端口號。如果必須使用443端口請使用方法二代理的方式實現wss。

2、wss端口只能通過wss協議訪問,ws無法訪問wss端口。

3、證書一般是與域名綁定的,所以測試的時候客戶端請使用域名連接,不要使用ip去連。

4、如果出現無法訪問的情況,請檢查服務器防火墻。

5、此方法要求PHP版本>=5.6,因為微信小程序要求tls1.2,而PHP5.6以下版本不支持tls1.2。

以上是“workerman配置wss的方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永新县| 囊谦县| 平陆县| 溆浦县| 台北市| 三河市| 九龙城区| 贞丰县| 衡阳市| 许昌县| 望奎县| 申扎县| 舞钢市| 温泉县| 老河口市| 行唐县| 来凤县| 三原县| 阜平县| 浦江县| 龙山县| 海南省| 红桥区| 和林格尔县| 洪江市| 云阳县| 蓬溪县| 都江堰市| 武定县| 达日县| 年辖:市辖区| 仪征市| 临漳县| 和政县| 舞阳县| 汾西县| 策勒县| 嘉祥县| 如东县| 威信县| 突泉县|