Heim >Backend-Entwicklung >PHP-Tutorial >PHP 套接字链接,能否设置时间?该如何解决

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

WBOY
WBOYOriginal
2016-06-13 10:24:441187Durchsuche

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中 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn