2008-08-19 3 views
3

어떻게 파스칼에서 네트워크 소켓을 사용합니까? 델파이를 사용하는 경우 다음파스칼의 소켓

답변

4

, 나는 매우 Indy 소켓, 소켓 및 다른 많은 인터넷 프로토콜의 쉬운 조작을위한 클래스 세트를 추천 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? –

0

에서 가져온 예입니다 (HTTP, FTP, NTP , POP3 등)

+0

그리고 특별히 -10.x 버전. –

0

Delphi 2007과 함께 제공되는 Indy 버전 10.5에서는 OpenSSL을 사용할 수 없습니다. http://www.indyproject.org/에서 버전 10.6을 다운로드하고 int를 설치해야합니다 IDE.

다른 패키지는 RemObject와 같이 Indy를 사용할 수 있으므로 다시 컴파일해야하며 상호 참조로 인해 까다로울 수 있습니다.

1

FPC 또는 Lazarus (기본적으로 FPC 용 rad IDE 및 delphi의 복제본)를 사용하는 경우 Synapse 소켓 라이브러리를 사용할 수 있습니다. 놀랍다.