(PHP 4 >= 4.0.2)
connect -- ソケット上の接続を初期化する
説明
int connect (int socket, string address [, int
protocol])
ソケット記述子socketを用いて接続を初期化し
ます。この記述子は、socket()で作成した有効なソ
ケット記述子である必要があります。
ソケットの種類がAF_INETの場合、パラメータ
address は、4-ドット表記のIPアドレス(例:
127.0.0.1)であり、AF_UNIX
の場合はUNIXドメインソケットのパス名です。
パラメータportは、
AF_INETソケットに接続する場合にのみ使用され、
接続するリモートホストのポートを指定します。
成功時にゼロを返し、失敗時に負のエラーコードを返します。このコー
ドは、エラーの内容を文字列で取得するために
strerror()に渡すことが可能です。
例 1. connect()の例
<?php
error_reporting(E_ALL);
echo "<h2>TCP/IP Connection</h2>\n";
/* WWW サービスのポートを取得 */
$service_port = getservbyname('www', 'tcp');
/* ターゲットホストのIPアドレスを取得 */
$address = gethostbyname('www.php.net');
/* TCP/IPソケットを作成 */
$socket = socket(AF_INET, SOCK_STREAM, 0);
if ($socket < 0) {
echo "socket() failed: reason: " . strerror($socket) . "\n";
} else {
"socket() successful: " . strerror($socket) . "\n";
}
echo "Attempting to connect to '$address' on port '$service_port'...";
$result = connect($socket, $address, $service_port);
if ($result < 0) {
echo "connect() failed.\nReason: ($result) " . strerror($result) . "\n";
} else {
echo "OK.\n";
}
$in = "HEAD / HTTP/1.0\r\n\r\n";
$out = '';
echo "Sending HTTP HEAD request...";
write($socket, $in, strlen($in));
echo "OK.\n";
echo "Reading response:\n\n";
while (read($socket, $out, 2048)) {
echo $out;
}
echo "Closing socket...";
close($socket);
echo "OK.\n\n";
?>
|
|
bind(),
listen(),
socket(),
strerror()も参照下さい。