|
@@ -14,19 +14,32 @@ var
|
|
i: integer;
|
|
i: integer;
|
|
t1,t2:text;
|
|
t1,t2:text;
|
|
x: array of thostaddr6;
|
|
x: array of thostaddr6;
|
|
|
|
+ hname : string;
|
|
|
|
+
|
|
|
|
+Const
|
|
|
|
+ ip6hosttest = 'whatismyv6.com';
|
|
|
|
|
|
begin
|
|
begin
|
|
|
|
+ hname:=ip6hosttest;
|
|
|
|
+ if paramcount>0 then
|
|
|
|
+ hname:=paramstr(1);
|
|
setlength(x, 100);
|
|
setlength(x, 100);
|
|
- setlength(x,resolvename6('www.6bone.net', x));
|
|
|
|
|
|
+ i:=resolvename6(hname, x);
|
|
|
|
+ if i=-1 then
|
|
|
|
+ begin
|
|
|
|
+ writeln('Domain not found, ',hname);
|
|
|
|
+ halt;
|
|
|
|
+ end;
|
|
|
|
+ setlength(x,i);
|
|
if length(x) = 0 then halt(2);
|
|
if length(x) = 0 then halt(2);
|
|
with dest do begin
|
|
with dest do begin
|
|
sin6_family := PF_INET6;
|
|
sin6_family := PF_INET6;
|
|
sin6_port := shorthosttonet(80);
|
|
sin6_port := shorthosttonet(80);
|
|
- sin6_addr.u6_addr16 := x[0];
|
|
|
|
|
|
+ sin6_addr.u6_addr16 := x[0].u6_addr16;
|
|
end;
|
|
end;
|
|
- sock := socket(PF_INET6, SOCK_STREAM, 6 {TCP});
|
|
|
|
|
|
+ sock := fpsocket(PF_INET6, SOCK_STREAM, 6 {TCP});
|
|
|
|
|
|
- if Connect(sock, dest, sizeof(dest)) then begin
|
|
|
|
|
|
+ if fpConnect(sock, @dest, sizeof(dest))=0 then begin
|
|
sock2text(sock,t1,t2);
|
|
sock2text(sock,t1,t2);
|
|
writeln(t2, 'GET / HTTP/1.0');
|
|
writeln(t2, 'GET / HTTP/1.0');
|
|
writeln(t2);
|
|
writeln(t2);
|
|
@@ -35,7 +48,7 @@ begin
|
|
writeln(s);
|
|
writeln(s);
|
|
end;
|
|
end;
|
|
end else begin
|
|
end else begin
|
|
- writeln('not connected: ',getlasterror, ': ', StrError(getlasterror));
|
|
|
|
|
|
+ writeln('not connected: ',socketerror, ': ', StrError(socketerror));
|
|
end;
|
|
end;
|
|
closesocket(sock);
|
|
closesocket(sock);
|
|
end.
|
|
end.
|