Ik probeer nu al een tijd een whois server te benaderen. Via fsockopen en via socket_create/socket_connect. In de RFC heb ik gelezen dat de whois port is gesteld op 43, en de 2 dns servers die ik ken zijn ns4.alkeninternet.nl j.root-servers.net
Nu lukt het me met geen van beide manieren. Dmv van socket_connect/socket_create krijg ik een error: Adress is invalid in its contents
Bij fsockopen krijg ik de error: Bad filedescriptor (9).
Kan iemand mij vertellen waarom het me niet lukt.
Hier 2 relevante stukjes code:
fsockopen
sockets
Is er iemand die me hiermee verder kan helpen?
Nu lukt het me met geen van beide manieren. Dmv van socket_connect/socket_create krijg ik een error: Adress is invalid in its contents
Bij fsockopen krijg ik de error: Bad filedescriptor (9).
Kan iemand mij vertellen waarom het me niet lukt.
Hier 2 relevante stukjes code:
fsockopen
code:
1
2
3
4
5
6
7
| $server = "ns4.alkeninternet.nl";
$port = 43;
$handle = @fsockopen($server, $port, $errno, $errstr, 10);
if(!$handle) die("Kon geen verbinding maken.<bR>\n".$errstr." (".$errno.")");
print "Verbinding met server.<br>\n";
@fclose($handle); |
sockets
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| $host = "j.root-servers.net";
$port = 43;
$time = time();
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if(!$socket) die("Unable to create socket");
if(!@socket_set_nonblock($socket)) die("Unable to set nonblock on socket");
$time = time();
while (!@socket_connect($socket, $host, $port)){
$err = socket_last_error($socket);
if ($err == 115 || $err == 114){
if ((time() - $time) >= 10){
socket_close($socket);
die("Connection timed out.<Br>\nAdditional info: ".socket_strerror($err);
}
sleep(1);
continue;
}
else {
if ((time() - $time) >= 10){
socket_close($socket);
die("Connection timed out.<Br>\nAdditional info: ".socket_strerror($err);
}
}
}
if(!socket_set_block($socket)){
socket_close($socket);
die("Unabale to set blocking on socket");
}
print "Verbonden met socket.";
socket_close($socket); |
Is er iemand die me hiermee verder kan helpen?
telefoontoestel