ホームページ  >  記事  >  バックエンド開発  >  PHPソケットリンク、時間設定は可能ですか?解決方法

PHPソケットリンク、時間設定は可能ですか?解決方法

WBOY
WBOYオリジナル
2016-06-13 13:30:09899ブラウズ

PHPソケットリンク、時間設定は可能ですか?

PHP コード
<!--

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 秒になっているようです。

-----解決策---------------------
のユーザーコメントエリアオンラインマニュアルには、実際には役立つ参考資料がたくさんあります。 http://php.net/manual/en/function.socket-get-option.php でタイムアウトを検索できます。この問題は非常に一般的なため、そこには。
それを行うのが面倒な場合は、コードの一部を抜粋しましょう

SO_SNDTIMEO フロー制御によりデータが妨げられるために出力関数がブロックされる時間を指定するタイムアウト値を報告します配列には、タイムアウト値の秒部分である sec と、タイムアウト値のマイクロ秒部分である usec の 2 つのキーが含まれます。
ソケット タイムアウト値を設定するには (ブロックするように設定しました) を使用します:

PHP コード
ソケットセットオプション(
  $ソケット、
  SOL_SOCKET, // ソケットレベル
  SO_SNDTIMEO, // タイムアウト オプション
  配列(
    "sec"=>10, // 秒単位のタイムアウト
    "usec"=>0 // タイムアウトはマイクロ秒単位であると仮定します
    )
  );
<br><font color="#e78608">------解決策---------</font><br>
話し合う

引用:

オンライン マニュアルのユーザー コメント エリアには、実際に多くの役立つ参考資料が含まれています。オンライン マニュアルは http://php.net/manual/en/function にあります。この問題は非常に一般的なため、php でタイムアウトを検索してください。
それを行うのが面倒な場合は、コードの一部を抜粋します

SO_SNDTIMEO ……
を指定してタイムアウト値を報告します。
------解決策---------
接続されたphpコードを別の場所に置くことができますファイルを作成し、AJAX でアクセスし、結果を div
に置きます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。