All pastes #9534 Raw Edit

GoneWacko

public text v1 · immutable
#9534 ·published 2005-04-14 14:15 UTC
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.