国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman websocket 不能主動推送消息

air001

問題描述

已經(jīng)解決,這個(gè)貼子不能刪除,請不用看了

workerman websocket 不能主動推送消息

程序代碼

nginx 配置

    # WebSocket 代理配置
    location /ws {
        proxy_pass http://127.0.0.1:2345;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_read_timeout 86400s;
    }

server 端代碼

<?php
use Workerman\Worker;
use Workerman\Timer;
use Workerman\Connection\TcpConnection;
use Workerman\Protocols\Http\Request;
use Workerman\Protocols\Http\Response;

require_once __DIR__ . '/vendor/autoload.php';

$ws_worker = new Worker('websocket://127.0.0.1:2345');
$ws_worker->count = 1;

$ws_worker->onWorkStart = function(Worker $worker) {
};
$ws_worker->onConnect = function(TcpConnection $connection) {
    Timer::add(10, function() use($connection) {
        $connection->send('hello world...');
    });
};
$ws_worker->onMessage = function(TcpConnection $connection, $data) {
    $connection->send('hello world '.time());
};

Worker::runAll();

html 代碼

<!DOCTYPE html>
<html lang="zh-CN">

<head>

<title>wss</title>
</head>

<body>
wss
<button id="j_btn" onclick="javascript:send();">xxxxx</button>
</body>
<script>
var ws = new WebSocket("wss://域名/ws");
ws.onopen = function() {
    console.log("connect success.");
    ws.send('tom');
    console.log("send tom");
};
ws.onmessage = function(e) {
    console.log("recv " + e.data);
};

function send() {
    ws.send('tom2');
}
</script>
</html>

報(bào)錯(cuò)信息

沒有報(bào)錯(cuò),就是在網(wǎng)頁里收不到 server 主動推送的消息

onmessage 里的消息能收到,
onconnet 里定時(shí)發(fā)送的消息收不到

152 0 0
0個(gè)回答

??