Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1136659178
Revan
2006-01-07 21:39
2006.01.22
Опять RENDOMIZE


14-1135372589
версия для печати
2005-12-24 00:16
2006.01.22
Программа Максимум


2-1136475014
Dot
2006-01-05 18:30
2006.01.22
Поиск файлов


14-1135355766
Pazitron_Brain
2005-12-23 19:36
2006.01.22
Вопрос по Microsoft Vitrual PC 2004


14-1135503730
Vudu
2005-12-25 12:42
2006.01.22
Чем можно перегнать Mov файл в avi ?




   Наверх