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