Frage

Ich habe eine Anwendung, wo ich möglicherweise viele Prozesse müssen eine Nachricht an einen Prozess senden. Ich dachte, die zweckmäßigste Art und Weise, dies zu tun wäre, nur einen UDP-Datagramm senden.

Wenn Sie eine Steckdose zu öffnen, muss ich angeben, welcher Port zu hören. Wie ich möchte nur das UDP-Datagramms feuern und vergessen, würde Ich mag nur das Betriebssystem einen verfügbaren Port auswählen müssen. Ich würde lieber nicht für eine Jagd, vor allem so viele Instanzen von meinem Prozess ausgeführt werden können. Gibt es eine Möglichkeit ich das O nur sagen kann, um einen verfügbaren Port auswählen (oder besser noch, nicht einmal einen Socket öffnen) Feuer und meinen UDP-Datagramm vergessen?

War es hilfreich?

Lösung

Ja. Geben Sie 0 als Port. Das Betriebssystem wird einen verfügbaren Port für Sie wählen.

Andere Tipps

Die Beantwortung des "Problems" und nicht die "Frage"

Wenn alle Prozesse auf dem gleichen PC arbeiten, könnten Sie in gemeinsam genutzten Dateien oder andere Mittel der Kommunikation andere als ein Netzwerk-Stack suchen.

Ich würde vorschlagen, Sie Inter Bibliothek die Optionen im Boost-suchen http://www.boost.org/doc/libs/ 1_37_0 / doc / html / interprocess.html

Kurzanleitung hier: http://www.boost.org/doc/ libs / 1_37_0 / doc / html / Inter / quick_guide.html

Insbesondere Ich schlage vor, Sie verwenden eine Named Pipe oder Shared Memory zwischen Prozessen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top