Розетки в Паскале

Как вы используете сетевые сокеты в Pascal?

19.08.2008 22:02:21
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.
4
25.05.2011 21:32:34
Не могли бы вы исправить эту ссылку, пожалуйста: bastisoft.de/programmierung/pascal/pasinet.html ?
Gustavo Carreno 4.10.2008 10:14:49

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

0
22.08.2008 16:06:05
А потом специально версия -10.x.
Marco van de Voort 10.07.2009 21:53:11

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

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

0
1.09.2008 19:26:40

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

1
5.05.2012 07:01:36