質問

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

役に立ちましたか?

解決

以下はから抜粋した例です 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.

他のヒント

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

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top