Home  >  Article  >  Backend Development  >  PHP 套接字链接,能否设置时间?该如何解决

PHP 套接字链接,能否设置时间?该如何解决

WBOY
WBOYOriginal
2016-06-13 13:30:09898browse

PHP 套接字链接,能否设置时间?

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);  
$IP=$row['IP']; 
$connection = socket_connect($socket, $IP, 2012);  


貌似默认是30秒,要是连不上的话等的时间太长了,能否设置其只有10秒?

------解决方案--------------------
在线手册的用户注释区其实有很多有用的参考,你可以在 http://php.net/manual/en/function.socket-get-option.php 里搜索 timeout,因为这个问题很普遍,所以肯定会有。
如果你懒的动手,摘录一段代码给你

SO_SNDTIMEO Reports the timeout value specifying the amount of time that an output function blocks because flow control prevents data from being sent. array. The array will contain two keys: sec which is the seconds part on the timeout value and usec which is the microsecond part of the timeout value.
To set a socket timeout value (assuming you've set it blocking) use:

PHP code
socket_set_option(
  $socket,
  SOL_SOCKET,  // socket level
  SO_SNDTIMEO, // timeout option
  array(
    "sec"=>10, // Timeout in seconds
    "usec"=>0  // I assume timeout in microseconds
    )
  );
<br><font color="#e78608">------解决方案--------------------</font><br>
探讨

引用:

在线手册的用户注释区其实有很多有用的参考,你可以在 http://php.net/manual/en/function.socket-get-option.php 里搜索 timeout,因为这个问题很普遍,所以肯定会有。
如果你懒的动手,摘录一段代码给你

SO_SNDTIMEO Reports the timeout value specifying ……

------解决方案--------------------
可以这样,把连接的php代码放到单独的一个文件中,用AJAX访问,结果放到一个div中 
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn