-1
$v1['ip'] = $url;

.

以下が機能しないのはなぜですか?

$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr, 1);

でもこれは:

$sock = @stream_socket_client('tcp://'.$v1['ip'].':25565'. $errno, $errstr);

この:

$sock = @stream_socket_client('tcp://'.$url.':'.$port, $errno, $errstr, 1);

デフォルトのタイムアウトは?

4

1 に答える 1

4

最初の例では、リモートソケットとエラー番号を連結しているため、$errstr実際にはエラー番号であり1、エラー文字列です。PHP は に割り当てることができない1ため、呼び出しは失敗します。

デフォルトのタイムアウトを確認するには、 のドキュメントを参照してくださいstream_socket_client()。関数のシグネチャでは、$timeoutパラメーターのデフォルトが によって返される float になっていることがわかりますini_get("default_socket_timeout")。そのため、それをエコーするか、PHP 構成を調べるだけで、デフォルトのタイムアウトが得られます。

于 2013-11-02T14:19:16.573 に答える