Einzelnen Beitrag anzeigen

Benutzerbild von SnuffMaster23
SnuffMaster23

Registriert seit: 13. Feb 2006
Ort: Kempten
253 Beiträge
 
#1

Keine Verbindung mt TServerSocket

  Alt 26. Jul 2007, 22:29
Moin, ich hab ein Problem mit dem TServerSocket und zwar krieg ich keine Verbindung zustande. Ich hab mir schon ein paar Tuts dazu durchgelesen, vor allem das von dsdt. Ich weiß nicht was da los ist, hier mal mein Code:
Delphi-Quellcode:
program Server;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Messages,
  ScktComp;

type TServer = class
       TCPServer: TServerSocket;
     private
       procedure OnRead(Sender: TObject; Socket: TCustomWinSocket);
       procedure OnConnect(Sender: TObject; Socket: TCustomWinSocket);
     public
       constructor Create;
     end;

var
  mread: string;

procedure TServer.OnRead(Sender: TObject; Socket: TCustomWinSocket);
var Msg: string;
begin
  Msg := Socket.ReceiveText;
  Writeln('>> ' + Msg);
end;

procedure TServer.OnConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Writeln('moin');
  TCPServer.Socket.Accept(Socket.SocketHandle);
end;

constructor TServer.Create;
begin
  TCPServer := TServerSocket.Create(nil);
  TCPServer.Port := 55555;
  TCPServer.ServerType := stThreadBlocking;
  TCPServer.OnClientRead := OnRead;
  TCPServer.OnClientConnect := OnConnect;
  TCPServer.Active := true;
  TCPServer.Open;
end;

begin
  with TServer.Create do
  try
    SetConsoleTitle('Pwnertool''s Server');
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
    Writeln('me is running...'#10);
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
    Writeln('type `quit'' to quit - but dont tell anyone ;-)'#10);

    repeat // Application Mainloop
      Readln(mread);
    until mread = 'quit';
  finally
    Free;
  end;
end.
Eigentlich nix wildes, aber es wird nichtmal OnConnect aufgerufen. Wenn ich mit telnet drauf verbinden will maults zwar nicht dass keine Verbindung zustande kommt, aber wenn ich was schreib dann in Hintergrundfarbe und beim Server kommt nix an.

Ich hab ja das Gefühl der Server lauscht zwar auf seinem Socket, macht dann aber keinen neuen für die eigentliche Verbindung auf.
Ich bin echt mit meinem Latein am Ende, helft mir
"Conspiracy is the poor man's mapping of the world" - Fredric Jameson
  Mit Zitat antworten Zitat