ホームページ >バックエンド開発 >PHPチュートリアル >ソケット設定のタイムアウトの問題

ソケット設定のタイムアウトの問題

WBOY
WBOYオリジナル
2016-06-23 14:38:111945ブラウズ

<?phpfunction Send_socket_connect($service_port, $address, $in) {	    //创建 TCP/IP socket    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("could not create socket!");    //创建连接    $result = socket_connect($socket, $address, $service_port) or die("could not connect with" . $address);	    //发送命令到设备    socket_write($socket, $in, strlen($in));    	//接受返回值    $buffer = socket_read($socket, 1024, PHP_NORMAL_READ); 	//关闭连接    socket_close($socket);    return $buffer;}$str = Send_socket_connect(5000, "10.0.1.22", "[AddDev].2.0.信号3.admin.12345.10.0.1.28.8000");echo $str;?>



IP に接続できない場合、接続できないことを返すまでに 20 秒以上かかります
接続タイムアウト、送信タイムアウト、および戻りタイムアウトの設定方法

初心者は使い方がわかりません。点数が高いのでアドバイスをお願いします! !ありがとうございます


ディスカッション(解決策)に返信

接続に20秒以上かかります

マニュアルに載ってないんですか? " usec"=>0 ) );

socket_set_option($socket,SOL_SOCKET,SO_SNDTIMEO,array("sec"=>3, "usec"=>0 ) ); $socket の送信タイムアウトを 1 秒に設定します、3 秒の受信タイムアウト:


$socket =ソケット_create(AF_INET,SOCK_STREAM,SOL_TCP);
ソケットセットオプション($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>1, "usec"=>0 ); ;
socket_set_option ($socket,SOL_SOCKET,SO_SNDTIMEO,array("sec"=>3, "usec"=>0 ) );

socket_connect($socket, $address, $service_port) または die(" できませんでした) connect with" . $address); 通常、接続はタイムアウトになります。接続がタイムアウトした場合はどうすればよいですか? ?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。