2008-08-19 28 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

採取了一個例子,如果您使用的是德爾福,我強烈建議Indy插槽,一組類的插座和許多其他互聯網協議的操控方便(HTTP,FTP,NTP ,POP3等)

+0

然後特​​別是-10.x版本。 – 2009-07-10 21:53:11

0

您不能使用OpenSSL與Indy版本10.5,與Delphi 2007一起裝運。您必須從http://www.indyproject.org/下載版本10,6並安裝它int IDE。

請注意,其他軟件包可能使用Indy,就像RemObjects一樣,因此它們也必須重新編譯,由於交叉引用的原因,這可能會非常棘手。

1

如果您使用的是FPC或Lazarus(基本上是用於FPC的rad IDE和delphi的克隆),您可以使用Synapse套接字庫。太奇妙了。