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