2008-08-19 21 views

Répondre

4

Voici un exemple tiré de http://www.bastisoft.de/programmierung/pascal/pasinet.html

program daytime; 

{ Simple client program } 

uses 
    sockets, inetaux, myerror; 

const 
    RemotePort : Word = 13; 

var 
    Sock : LongInt; 
    sAddr : TInetSockAddr; 
    sin, sout : Text; 
    Line : String; 

begin 
    if ParamCount = 0 then GenError('Supply IP address as parameter.'); 

    with sAddr do 
    begin 
     Family := af_inet; 
     Port := htons(RemotePort); 
     Addr := StrToAddr(ParamStr(1)); 
     if Addr = 0 then GenError('Not a valid IP address.'); 
    end; 

    Sock := Socket(af_inet, sock_stream, 0); 
    if Sock = -1 then SockError('Socket: '); 

    if not Connect(Sock, sAddr, sizeof(sAddr)) then SockError('Connect: '); 
    Sock2Text(Sock, sin, sout); 
    Reset(sin); 
    Rewrite(sout); 

    while not eof(sin) do 
    begin 
     Readln(sin, Line); 
     Writeln(Line); 
    end; 

    Close(sin); 
    Close(sout); 
    Shutdown(Sock, 2); 
end. 
+0

Pourriez-vous corriger votre lien s'il vous plaît: http://www.bastisoft.de/programmierung/pascal/pasinet.html? –

0

Si vous utilisez Delphi, je recommande fortement Indy prises, un ensemble de classes pour une manipulation aisée des prises de courant et de nombreux autres protocoles Internet (HTTP, FTP, NTP , POP3, etc.)

+0

Et puis spécialement la version -10.x. –

0

Vous ne pouvez pas utiliser OpenSSL avec la version Indy 10.5 qui shippes avec Delphi 2007. Vous devez télécharger la version de http://www.indyproject.org/ et 10,6 installer int o l'IDE. Notez que d'autres paquets peuvent utiliser Indy, comme RemObjects, et qu'ils doivent donc être recompilés aussi, ce qui peut être difficile en raison de références croisées.

1

Si vous utilisez FPC ou Lazarus (qui est essentiellement un EDI rad pour FPC et un clone de Delphi), vous pouvez utiliser la bibliothèque de socket Synapse. C'est incroyable.