AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi einfachen text per idctpserver an client senden, wie geht da
Thema durchsuchen
Ansicht
Themen-Optionen

einfachen text per idctpserver an client senden, wie geht da

Ein Thema von vollmer-net · begonnen am 10. Nov 2004 · letzter Beitrag vom 6. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2      
vollmer-net
(Gast)

n/a Beiträge
 
#1

einfachen text per idctpserver an client senden, wie geht da

  Alt 10. Nov 2004, 22:13
wie kann ich das machen?

ich brauche nur den befehl? werd nicht schlau aus den anderen beiträgen!

alex
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#2

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 11. Nov 2004, 14:01
niemand ne ahnung?=
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 12. Nov 2004, 08:14
Hi,

in den meisten Events des Servers gibt's den Parameter AThread. Dieser bezieht sich auf die Client-Verbindung, die dieses Event ausgelöst hat. Somit kannst du z.B. folgendes machen:
Delphi-Quellcode:
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
  AThread.Connection.WriteLn('Hallo Welt');
end;
Wenn du aber unanhängig von einem Event was verschicken möchtest, dann geht das etwa so:
Delphi-Quellcode:
with IdTCPServer1.Threads.LockList do
try
  for i := 0 to Count do
    TIdPeerThread(Items[i]).Connection.WriteLn('Hallo Welt');
finally
  IdTCPServer1.Threads.UnlockList;
end;
Dies sendet an alle verbundenen Clients die Nachricht.

Noch ein Tip: Die Klasse TIdPeerThread verfügt über eine Property, die sich Data nennt. Diese kann man wunderbar dazu nutzen, an den Thread die Benutzer-Daten zu hängen, um hinterher einen bestimmten Thread herauszufinden.

MfG
Stevie

P.S. Meine Beispiele sind mit Indy 8, und könnten etwas von der 9er-Version abweichen, die du sicherlich benutzt.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
vollmer-net
(Gast)

n/a Beiträge
 
#4

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 12. Nov 2004, 14:45
und wie kann ich beim clienten drauf zugreifen....dort gibts ja kein onexecure oder so!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 12. Nov 2004, 14:51
Wenn du schreiben willst:IdTCPClient1.WriteLn('Hallo Welt'); Und wenn du lesen willst, was vom Server kommt, dann machst du einen Timer und ins OnTimer-Event:
Delphi-Quellcode:
var
  s: string;
begin
  s := IdTCPClient1.ReadLn(#$A, 5);
  if s <> 'then
  begin
    {...}
  end;
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
need-some-blood

Registriert seit: 3. Dez 2004
4 Beiträge
 
#6

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 3. Dez 2004, 14:17
Hänge meine Frage hier mal ran.

simple Client-Server-Anwendung

Server funzt bestens. client ließt alle Daten sofern welche am socket anstehen. Nun möchte ich aber, das der Client automatisch alle 1000ms den Socket liest.

Bisher war das ganze in nem Timer
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  try
   idtcpclient1.readbuffer(recvstring,20); // Habs auch schon mit readln('',800,20); versucht
  finally
    memo1.lines.add(recvstring);
  end;
end;
Habe das Timeout auf 800 ms gesetzt. Aber entweder stürzt das Prog ab, oder es erscheint eine Exception, kommt drauf an ob ich readbuffer, oder readln nutze.

Die Boardsuche habe ich schon genutz, aber nisher hat nix genutzt.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 3. Dez 2004, 14:40
Hast du es schon so versucht:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  s: string;
begin
  repeat
    s := IdTCPClient1.ReadLn('', 0, 20);
    if s <> 'then
      Memo1.Lines.Add(s);
  until s = '';
end;
P.S.: Herzlich willkommen in der DP!
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
need-some-blood

Registriert seit: 3. Dez 2004
4 Beiträge
 
#8

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 3. Dez 2004, 15:04
Gleiches Problem. Programm bleibt stehen, und wird warscheinlich versuchen Daten aus dem Socket zu lesen.

Weiterer Vorschläge?

PSanke
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#9

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 3. Dez 2004, 15:05
Hast du ein IdAntiFreeze auf der Form?
Julian J. Pracht
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#10

Re: einfachen text per idctpserver an client senden, wie geh

  Alt 4. Dez 2004, 11:54
Ich hatte auch mal so ein ähnliches Problem, ich glaube da musst du Threads verwenden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz