AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Nachricht vom Server an alle Clienten schicken
Thema durchsuchen
Ansicht
Themen-Optionen

Nachricht vom Server an alle Clienten schicken

Ein Thema von hibbert · begonnen am 29. Dez 2003 · letzter Beitrag vom 7. Jul 2004
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#11

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 21:04
Indy UDPClient (TIdUDPClient)
Indy UDPServer (TIdUDPServer)

Und bei dem UDPClient Broadcasting auf true setzen!
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#12

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 21:06
ok, danke für eure hilfe, ich werde mich mal gleich ranmachen.
wenn ich noch fargen habe, dann melde ich mich in den nächsten tagen nochmal.

danke nochmal für eure hilfe.

hibbert
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#13

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 21:08
IdUDPClient1.Send('255.255.255.255',Portnummer,Text); und zum empfangen

Delphi-Quellcode:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  x:string;
begin
AData.Position:=0;
SetLength(x,AData.Size);
AData.ReadBuffer(x[1],AData.Size);
//in x steht jetzt dem empfangene Text
end;
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#14

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 21:32
ok, nun geht es los mit meinen Fragen:
(ich benutze nun die Kompos Indy UDPClient (TIdUDPClient) & Indy UDPServer (TIdUDPServer) )
  • Welche Bindings muss ich beim Server eintragen ?
  • Welchen host muss ich beim Clienten eintragen ?
  • Der Prot ist doch egal, hauptsache der gleiche, oder ?
  • Was sollte ich noch beachten ?
  • Und warum kommt diese Fehlermeldung:
Zitat von Compiler:
[Fehler] Unit1.pas(19): Undefinierter Bezeichner: 'TIdSocketHandle'
Ich habe ein edit Feld, einen Button und den server sowie den Clienten drauf.
(oder darf ich nur den server oder nur den Clienten benutzen, geht beides zusammen überhaupt?)
Code:
Im Button ist folgender Quelltext:
procedure TForm1.Button1Click(Sender: TObject);
begin
IdUDPClient1.Send('255.255.255.255',32,edit1.Text);
end;
Und dann habe ich noch dieses hier:
Code:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var x:string;
begin
AData.Position:=0;
SetLength(x,AData.Size);
AData.ReadBuffer(x[1],AData.Size);
memo1.Lines.Add(x)
end;
Was habe ich falsch gemacht ?

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#15

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 21:58
Zitat:
Welche Bindings muss ich beim Server eintragen ?
-Keine Bindings
Zitat:
Welchen host muss ich beim Clienten eintragen ?
-Keinen (Alle Nachrichten werden an alle PCs im Netzwerk gesendet)
Zitat:
Der Prot ist doch egal, hauptsache der gleiche, oder ?
-Jepp
Zitat:
Was sollte ich noch beachten ?
-KA
Zitat:
Und warum kommt diese Fehlermeldung:
-Den Fehler hab ich auch! Habs so gelöst:
Delphi-Quellcode:
type
  TIdSocketHandle = THandle;
Zitat:
(oder darf ich nur den server oder nur den Clienten benutzen, geht beides zusammen überhaupt?)
-MUSST beide nehmen (Client zum senden/Server zum empfangen)
Zitat:
Was habe ich falsch gemacht ?
-Garnix. Wenn BroadcastEnabeld = true ist und der Serverport auch 32 ist.
(glaub ich mal)
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#16

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 22:08
schön dass du auch den gelcihen fehler hattest
doch wo hast du das Type eingefügt? etwas so:
unit Unit1;

Delphi-Quellcode:
interface

uses
  ...
type
  TForm1 = class(TForm)
    IdUDPClient1: TIdUDPClient;
    IdUDPServer1: TIdUDPServer;
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    TIdSocketHandle = THandle;
    procedure Button1Click(Sender: TObject);
    procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
...
thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#17

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 22:12
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdUDPServer, IdBaseComponent, IdComponent, IdUDPBase,
  IdUDPClient, XPMan;

type //<<<<<<<<<<<<<<<<<<
  TIdSocketHandle = THandle; //<<<<<<<<<<<<<<<<<<

type
  TForm1 = class(TForm)
    IdUDPClient1: TIdUDPClient;
    IdUDPServer1: TIdUDPServer;
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    XPManifest1: TXPManifest;
    procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
      ABinding: TIdSocketHandle);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#18

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 22:14
Hab mal en kleines Beispiel angehangen
Angehängte Dateien
Dateityp: rar udp.rar (173,7 KB, 69x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#19

Re: Nachricht vom Server an alle Clienten schicken

  Alt 29. Dez 2003, 23:48
ach da oben kam das hin
na dann ist ja der rest auch klar

Danke für deine bzw. eure Hilfe.

Aber eine Frage habe ich da noch: warum wird der eingegebene Text 3 mal in das memo geschrieben?

(zum Zeitpunkt meines Tests war kein weitere Rechner im Netzwerk online)

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#20

Re: Nachricht vom Server an alle Clienten schicken

  Alt 30. Dez 2003, 10:44
Also ich hab kein Problem damit! (Bekomme ihn immer nur einmal)
Wieviele Netzwerkkarten hast du denn in deinem PC???

Und was passiert wenn du es noch auf einem anderen PC laufen lässt???
Bekommt der dann auch alle Nachrichten 3x???
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


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 15:19 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