socket持久连接,是不是没有办法把五个连接区分开?

txlty

比如这样

<?php
for($i=0; $i<5; $i++){
    $fd = stream_socket_client("ssl://wenda.workerman.net:443", $errno, $errstr, 3, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);
    stream_set_blocking($fd, false);

    $key = 'k'.(int)$fd;    // var_dump($fd);
    $clients[$key] = $fd;
}

如果不用持久连接的话,建立五个连接,客户端会开五个不同端口,产生五个包含SNI数据的包。不想产生这样的流量特征。
但像这样用持久连接,五个连接都是同一个,有没有办法能把五个fd区分开?难道只能自己给数据包加标记?

1575 1 0
1个回答

walkor 打赏

传入$context参数,每个context里使用不同的 bindto设置不同的本地端口试下

  • 暂无评论
年代过于久远,无法发表回答
×
🔝