我创建了一个简单的Socketphp5.3脚本,其中服务器脚本调用.
socket_select($read_set, $write_set, $exception_set, 2);...in一个循环。我使用的是非阻塞套接字,脚本正在Win7机器上运行。
问题:这个函数阻塞脚本2秒。这意味着第四个参数($tv_sec)确实导致了这个块。
我的问题是:$tv_sec和$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: no description
发布于 2012-03-20 17:48:20
当您希望在给定的微秒之后socket_select()函数超时时,就会使用socket_select参数。例如,如果您希望select在不到1秒之后超时,这是非常有用的。
https://stackoverflow.com/questions/9792077
复制相似问题