/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
UDP Relay / dist
Fra : Wiljan


Dato : 12-01-06 20:19

Hej

Jeg leder efter et eksempel på hvordan man laver en software der fungerer
som UDP relay./ distribution

Jeg har brug for at den PC der kører programmet lytter på f.eks port 1234.
Programmet skal der efter sende en UDP stream til f.eks fem andre IP adresse
alle på port 1234.

Nogen link eller foreslag?

Jeg har D7 + Indy + APRO

Hilsen Wiljan



 
 
Finn Bindeballe (12-01-2006)
Kommentar
Fra : Finn Bindeballe


Dato : 12-01-06 22:26

hep...

hvis det er et mindre netværk, kan du jo broadcaste....dvs sætte din
hostaddress til eks 10.0.0.255 - saa kan alle der heder noget med
10.0.0.xxx 'høre' hvad du siger...hvis de altsaa gider...

ellers skal du bruge multi-casst, og det kan godt være lidt bøvlet at ha
med at gøre...

/finn

Wiljan (12-01-2006)
Kommentar
Fra : Wiljan


Dato : 12-01-06 22:35

Hej

Jeg skal sende data til 5 unikke ip adresse over WAN så multicasr dur ikke.
Det skal være som UDP unicast.

Wiljan


"Finn Bindeballe" <ohno@galnet.dk> skrev i en meddelelse
news:43c6c874$0$15782$14726298@news.sunsite.dk...
> hep...
>
> hvis det er et mindre netværk, kan du jo broadcaste....dvs sætte din
> hostaddress til eks 10.0.0.255 - saa kan alle der heder noget med
> 10.0.0.xxx 'høre' hvad du siger...hvis de altsaa gider...
>
> ellers skal du bruge multi-casst, og det kan godt være lidt bøvlet at ha
> med at gøre...
>
> /finn



Wiljan (15-01-2006)
Kommentar
Fra : Wiljan


Dato : 15-01-06 14:05

Hej Igen

Nu har jeg fået det il at virke

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
begin
count := AData.Size;
if count > Length(Buffer) then begin
exit;
end
else
begin
AData.Read(Buffer, count);
IdUDPServer1.SendBuffer ('192.168.1.152',1234,buffer,count);
IdUDPServer1.SendBuffer ('192.168.1.151',1234,buffer,count);
// kan så være lige så mange destinationer som der ønskes
total_count:=total_count+count;
total_blocks:=total_blocks+1;
end;
end;

Der er dog et problem

Hvis jeg sætter en IP adresse ind ovenfor som ikke eksistere når programmet
startes så hanger det.
der imod kan jeg sagtens afbryde under en modtager under drift og tilslutte
den senere uden problemer.

Hvordan kan dette undgåes?
Skal jeg *pinge* alle de adresser jeg ønsker at sende til og kune sende til
dem der svarer tilbage?

Hilsen Wiljab




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste