3

Pascal でネットワーク ソケットをどのように使用しますか?

4

4 に答える 4

5

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.
于 2008-08-19T22:09:15.207 に答える
1

FPCまたはLazarus(基本的にはFPC用のrad IDEであり、delphiのクローン)を使用している場合は、Synapseソケットライブラリを使用できます。すごい。

于 2012-05-05T07:01:36.253 に答える
0

Delphi2007に同梱されているIndyバージョン10.5でOpenSSLを使用することはできません。http://www.indyproject.org/からバージョン10,6をダウンロードし、IDEにインストールする必要があります。

RemObjectsのような他のパッケージはIndyを使用する可能性があるため、それらも再コンパイルする必要があり、相互参照のためにこれは注意が必要な場合があることに注意してください。

于 2008-09-01T19:26:40.047 に答える
0

Delphi を使用している場合は、ソケットや他の多くのインターネット プロトコル (HTTP、FTP、NTP、POP3 など) を簡単に操作するための一連のクラスであるIndyソケットを強くお勧めします。

于 2008-08-22T16:06:05.430 に答える