2008-08-19 3 views

ответ

4

Вот пример, взятый из 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

Не могли бы вы исправить ссылку на это, пожалуйста: http://www.bastisoft.de/programmierung/pascal/pasinet.html? – 2008-10-04 10:14:49

0

Если вы используете Delphi, я настоятельно рекомендую Indy розетки, набор классов для облегчения манипуляций с сокетов и многих других интернет-протоколов (HTTP, FTP, NTP , POP3 и т. Д.)

+0

А затем специально версия -10.x. – 2009-07-10 21:53:11

0

Вы не можете использовать OpenSSL с Indy версии 10.5, который поставляется с Delphi 2007. Вам необходимо скачать версию 10,6 из http://www.indyproject.org/ и установить ее int o IDE.

Обратите внимание, что в других пакетах может использоваться Indy, например RemObjects, и поэтому их также необходимо скомпилировать, и это может быть сложно из-за перекрестных ссылок.

1

Если вы используете FPC или Lazarus (в основном это rad IDE для FPC и клон delphi), вы можете использовать библиотеку сокетов Synapse. Это потрясающе.

Смежные вопросы