Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизСети Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c