Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: TIdTCPServer (Indy) und TClientSocket

  Alt 16. Nov 2016, 14:06
Offenbar hängt es schon an Delphi - oder meinen bescheidenen Programmierkünsten:

Ich habe mir zu Testzwecken die Mühe gemacht und auf einem Form "schnell" mal je Server und Client der Indys und einen TClientSocket platziert und mit Code unterlegt. Ich kann das auch anhängen, falls jemand Interesse hat.

Der Indy-Client kann etwas an den Indy-Server senden - hätte mich auch gewundert, wenn es nicht so gewesen wäre. Mit dem TClientSocket kann ich mich immerhin noch zum TIdTCPServer verbinden. Aber wenn ich mit ClientSocket.Socket.SendText('Hello World'); etwas absetze, kommt das aus mir unerfindlichen Gründen nicht an - genau wie bei den getrennten Programmen. Das Ereignis wird auch hier nicht ausgelöst

Jetzt wollte ich gern testen, ob es umgekehrt klappt, vom Server etwas an TClientSocket zu senden. Bedauerlicher Weise hängt sich folgender Code (den ich im www gefunden habe) ohne jedwede Fehlermeldung auf; selbst das Senden an den Indy-Client klappt somit nicht:
Delphi-Quellcode:
Procedure TForm1.BtnBrdcastClick(Sender: TObject);
Var
   CList            : TList;
   I               : Integer;
Begin
   CList:= IdTCPServer.Contexts.LockList;
   Try
      For I:= 0 To Pred(CList.Count) Do
      Try
         TIdContext(CList[I]).Connection.SendCmd(EDBrdCast.Text);
      Except End;
   Finally
      IdTCPServer.Contexts.UnlockList;
   End;
End;
Kann mit dazu jemand etwas sagen?

Ich würde wirkllich gern den Indy-Server und den Delphi-Client miteinander verbinden. So schnell will ich da nicht aufgeben. Aber ich finde schon jetzt, dass die Indys vergleichsweise unhandlich sind und merkwürdig reagieren...

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat