2

我创建了一个简单的套接字 php 5.3 脚本,其中服务器脚本调用...

socket_select($read_set, $write_set, $exception_set, 2);

……循环。我正在使用非阻塞套接字,并且脚本在 Win7 机器上运行。

问题:此函数将脚本阻塞 2 秒。这意味着第 4 个参数 ($tv_sec) 确实会导致此块。

我的问题:$tv_secor 和有什么区别$tv_usec?做什么$tv_usec

php手册上的函数说明:

socket_select(array&$read, array&$write, array&$ex, int $tv_sec[,int $tv_usec=0])

tv_sec: tv_sec 和 tv_usec 共同构成超时参数。超时是 socket_select() 返回之前经过的时间量的上限。tv_sec 可能为零,导致 socket_select() 立即返回。这对于轮询很有用。如果 tv_sec 为 NULL(无超时),socket_select() 可以无限期阻塞。

tv_usec:没有描述

4

1 回答 1

1

当您希望 socket_select() 函数在给定的微秒数后超时时,使用 $tv_usec 参数。例如,如果您希望选择在不到 1 秒后超时,这很有用。

于 2012-03-20T17:48:20.650 回答