Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Сети   Найти похожие ветки 

 
PaNDa000   (2005-12-31 16:09) [0]

С наступающим!
Как использовать сокеты в консольном приложении? В простом аппликэйшн легко, а вот в консольном как подключить? Заранее
спасибо за ответы.


 
Apptype   (2005-12-31 18:46) [1]

Вот пример:

{$Apptype console}
program Project1;

uses windows,Classes,Sysutils,scktcomp,dialogs;

type
 Tsk1 = class(TClientsocket)
   procedure Connect(Sender: TObject);

     private
   { Private declarations }
 public
   { Public declarations }

 end;

var sk1:TClientsocket;    Connect: TSocketNotifyEvent;
s:string;

procedure Tsk1.Connect(sender:TObject);
begin
showmessage("test");
end;

begin
 s:="127.0.0.1";
   
 sk1:=TClientsocket.Create(nil);
 sk1.OnConnect:=Connect;
 sk1.ClientType:=ctNonBlocking;
   sk1.Address:=Pchar("127.0.0.1");
 sk1.Port:=80;
 sk1.Active:=true;

 sk1.Host:=Pchar("127.0.0.1");

 writeln(s);   readln;
end.


 
</code>   (2005-12-31 20:19) [2]


{ Output:

Sock created!
Socket Info: Port: 80 Host: gonewacko.com IP: 66.111.37.200
Socket Active: 0
Activated Socket!

}

program songtracker;

{$APPTYPE CONSOLE}

uses
 ScktComp, SysUtils;

type
 TSock = class
 public
   Port: Integer;
   Url: String;
   ClientSocket: TClientSocket;
   constructor Create;

   procedure SocketRead(Sender: TObject; Socket: TCustomWinSocket);
   procedure SocketConnect(Sender: TObject; Socket: TCustomWinSocket);
 end;

var
 Sock: TSock;
 Done: Boolean;

{ TSock }

constructor TSock.Create;
begin
 Port := 80;
 Url := "junk/.songtracker/update.php?";
 ClientSocket := TClientSocket.Create(nil);
 with ClientSocket do
 begin
   Port := 80;
   Host := "gonewacko.com";
   Address := "66.111.37.200";
   ClientType := ctNonBlocking;
   OnRead := SocketRead;
   onConnect := SocketConnect;
 end;
end;

procedure TSock.SocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
 WriteLn("Socket connected! Sending GET");
 Socket.SendText("GET /index.html HTTP/1.0" + #10#13#0);
 Socket.SendText("Host: gonewacko.com" + #10#13#0);
 Socket.SendText("User-Agent: Songtracker" + #10#13#10#13);
end;

procedure TSock.SocketRead(Sender: TObject; Socket: TCustomWinSocket);
begin
 WriteLn("Socket Reading something: " + Socket.ReceiveText);
 Done := True;
end;

begin
Sock := TSock.Create;
writeln("Sock created!");
writeln(Format("Socket Info: Port: %d Host: %s IP: %s",[Sock.ClientSocket.Port,Sock.ClientSocket.Host,Sock.ClientSocket.Address]));
Sock.ClientSocket.Open;
writeln("Socket Active: " +BoolToStr(Sock.ClientSocket.Active));
writeln("Activated Socket!");
while not Done do
 Sleep(100);
end.


 
XProger ©   (2005-12-31 22:03) [3]

http://xproger.mirgames.ru/?id=2&page=1#XiRC



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
2-1136483113
sadko
2006-01-05 20:45
2006.01.22
Как изменить ВРЕМЯ создания файла?


6-1128664985
Del_programmer
2005-10-07 10:03
2006.01.22
IrDA


2-1135869231
dera
2005-12-29 18:13
2006.01.22
Как запустить прогу в Win98 как сервис?


1-1134734764
OlegNik
2005-12-16 15:06
2006.01.22
Завершение потока TTread;


4-1131728932
Aragon
2005-11-11 20:08
2006.01.22
Version Info EXE