{ 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.