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

stream_context_set_option設(shè)置的選項(xiàng)在socket_get_option里能體現(xiàn)不出來(lái)

hk2018

請(qǐng)教大家個(gè)問(wèn)題,看listen里有對(duì)流的設(shè)置,然后把流通過(guò)socket_import_stream 轉(zhuǎn)換為socket
然后通過(guò)socket_set_option 對(duì)轉(zhuǎn)換的socket進(jìn)行設(shè)置
比如設(shè)置??TCP_NODELAY 開(kāi)啟,
7.1后 可以直接通過(guò)對(duì)流的設(shè)置來(lái)設(shè)置這一項(xiàng)??https://www.php.net/manual/en/context.socket.php?
問(wèn)題是:通過(guò)對(duì)stream直接設(shè)置TCP_NODELAY 開(kāi)啟,然后把stream轉(zhuǎn)換為socket,然后通過(guò)
socket_get_option($socket,SOL_TCP,TCP_NODELAY)獲取,為啥值還是0呢,方式不對(duì)嗎,怎么知道我設(shè)置成功了呢

<?php
$local_socket="tcp://0.0.0.0:8081";
$flags=STREAM_SERVER_BIND | STREAM_SERVER_LISTEN;
$context_option=;
$context_option = 5;

$context = \stream_context_create($context_option);

//7.1.0加上了tcp_nodelay選項(xiàng),我這是7.3.4
stream_context_set_option($context, 'socket', 'tcp_nodelay', true);//第10行

$mainSocket = \stream_socket_server($local_socket, $errno, $errmsg, $flags, $context);
if (!$mainSocket) {
throw new Exception($errmsg);
}

$socket = \socket_import_stream($mainSocket);
socket_set_option($socket, SOL_SOCKET, SO_KEEPALIVE, 1);
//socket_set_option($socket, SOL_TCP, TCP_NODELAY, 1); //第20行

echo "tcp_nodelay:".print_r(socket_get_option($socket,SOL_TCP,TCP_NODELAY),true).PHP_EOL;

print_r(stream_context_get_options($mainSocket));
echo PHP_EOL;

?通過(guò)第20行里的socket_set_option來(lái)設(shè)置,下面socket_get_option取到的tcp_nodelay為1,通過(guò)第10行的stream_context_set_option來(lái)設(shè)置,為啥下面取tcp_nodelay不是1呢
?
?

2920 0 0
0個(gè)回答

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??