Autor Beitrag
freedy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Mi 03.05.06 17:05 
Hi!

Besteht irgendwie die Möglichkeit, meine Port-Adresse über die ich Daten von meinem Client an ein Gerät schicken möchte, festzulegen.

Das Problem wäre dabei eigentlich weniger das Verschicken. Daten, die ich von diesem Gerät zurückbekomme, werden mit fester Empfangs- und Sendeportadresse verschickt (Port 1000). Wenn ich mein Programm, in dem ich die Indy-Komponenten Ver. 10 benutze, aber laufen lasse, ändert sich ständig meine Portadresse. Wie kann ich diese fixieren?

Gruß
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 03.05.06 20:21 
Moin!

Es sollte keinen Unterschied machen, von welcher Portadresse ein UDP-Paket losgeschickt wird; wenn doch, dann ist das ein ziemlich komischer IP-Stack, der da werkelt... :? ;)

Was den Empfang auf einem bestimmten Port angeht: das hat nichts (naja, nicht unbedingt) mit dem Sendeport (bei UDP im Gegensatz zu TCP) zu tun. Vorsicht Falle, dein UDP-Empfänger kann durchaus einen bestimmten Port abhören und von einem anderen aus senden.

Wenn du mit den Indies nicht klar kommst, dann schau dir doch mal diese Kompo an, vielleicht hilft die dir ja weiter. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
freedy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Mi 03.05.06 21:12 
user profile iconNarses hat folgendes geschrieben:
Es sollte keinen Unterschied machen, von welcher Portadresse ein UDP-Paket losgeschickt wird; wenn doch, dann ist das ein ziemlich komischer IP-Stack, der da werkelt... :? ;)


Mag sein. Das Gerät möchte gerne auf Port 1000 und nur von Port 1000 angesprochen werden. Es sendet auch dorthin zurück. Bei Indy wird der Port ja willkürlich vom Betriebssystem bestimmt. Leider. Einen LocalPort scheint es nicht zu geben.

Gäbe es vielleicht eine Möglichkeit, tiefer in die Sockets einzugreifen? Das ist für mich leider absolutes Neuland.

user profile iconNarses hat folgendes geschrieben:
Wenn du mit den Indies nicht klar kommst, dann schau dir doch mal diese Kompo an, vielleicht hilft die dir ja weiter. ;)


Danke für den Tip. Werde ich mir auf jeden Fall anschauen.
freedy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 403
Erhaltene Danke: 1

Winows 7
Delphi XE
BeitragVerfasst: Fr 16.06.06 14:57 
Leider habe ich es bisher noch nicht geschafft, die Portadresse so zu ändern, dass alles klappt.

In TIdUDPClient.Bindings.PeerPort steht zumindest der Port, von dem ausgeschickt wird. Leider ist das Property Read-Only. Hat jemand Erfahrung, wie man das vielleicht umgehen kann?