rendered paste body{ 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.