Suchen Sie nach einer Reihe freier Ports

1243

An einer Anwendung arbeiten, die Kameras verwendet.

Der Kamera-Controller verfügt im Netzwerk über eine einzige IP-Adresse (ich kann diese IP-Adresse definieren) und auf jede Kamera wird über diese IP-Adresse plus einen Port zugegriffen. Der Controller kann bis zu 250 Kameras enthalten.

Derzeit gibt es drei Kameras, und ich möchte Ports in Klumpen zuweisen können, wie in ... 6510, (Rezeption) 6520, (Dock) 6530 (Parkplatz), sodass ich zusätzliche Kameras hinzufügen und passende Ports zuweisen kann Der physische Standort der Kamera, wie in ... 6510 und 6511, ist physisch nahe beieinander, da sich 6520, 6521 und 6522 in der Nähe befinden würden.

Wie finde ich eine Reihe verfügbarer Ports? Ich habe im Internet gesucht und einige Websites gefunden, die häufig verwendete Port-Nummern enthalten. Ich möchte jedoch einen freien Bereich für den einzelnen PC finden, auf dem die Software installiert ist.

Wie kann ich nach nicht verwendeten Ports suchen?

0
Es gibt nur zwei Möglichkeiten: 1) Ihre Kameras stellen eine Verbindung zu einem Server her und kündigen an, wo sie sich befinden und welche Ports sie verwenden - beispielsweise Google für ZeroConf und dynamisches DNS oder 2) Ihr Programm "probt": verbindet jeden möglichen Port und versucht es mit der Kamera kommunizieren. Wenn ein Dienst außerhalb der Kamera vorhanden ist, schlägt die Kommunikation fehl und das Programm stellt eine Verbindung zu Port + 1 her Arioch 'The vor 10 Jahren 0
Dies ist keine Programmieraufgabe. Dies ist eine Systemverwaltungsaufgabe. Wählen Sie einfach eine Reihe von Ports aus und reservieren Sie sie auf Ihrem Computer. `Netstat` zeigt Ihnen, welche Ports gerade verwendet werden. Wählen Sie einfach einige aus, die es nicht sind. Rob Kennedy vor 10 Jahren 2
Meinen Sie, welchen Port am PC? Wenn ja, besuchen Sie http://superuser.com/questions/451348/wie-zu-know-was-port-isbusy-or-free-on-windows-7/451351#451351 Dave vor 10 Jahren 0

1 Antwort auf die Frage

1
Marcus Adams

Wenn Sie Ihre Portnummern nicht bei IANA registrieren, versuchen andere Programme möglicherweise, an denselben Port zu binden (er wird möglicherweise bereits von einer anderen Anwendung verwendet). Selbst wenn Sie Ihre Portnummern registriert haben, können andere Programme, die die Standards nicht beachten, trotzdem versuchen, an denselben Port zu binden.

Da Sie eine große Anzahl von Ports und eine nicht spezifische Anzahl von Ports benötigen, haben Sie wahrscheinlich kein Glück, die Ports bei IANA zu registrieren.

Daher sollten Sie Ports> = 49151 verwenden. In der Regel wird versucht, an einen Port zu binden. Wenn er verwendet wird, schlägt die Bindung fehl. Sie fangen die Ausnahme und versuchen den nächsten Port.

Es gibt nichts, das freie Ports auflistet, aber Sie können in Benutzung befindliche Ports erhalten . Die Ports reichen von 1 bis 65535, sodass Sie die Liste der freien Ports anhand der Liste der verwendeten Ports ermitteln können. Ich finde, dass die Liste der in Benutzung befindlichen Ports häufig falsche Ergebnisse anzeigt. Z.B. Ports können sich als verwendet anzeigen, die eigentlich nicht mehr verwendet werden, aber mit der Zeit klären sie sich auf.

Wenn Sie also Blöcke freier Ports benötigen, können Sie diese Liste von den verwendeten Ports ableiten.

Ihr Server möchte möglicherweise die Liste der Ports, die er über einen Webserver verwendet, auf dem bekannten Port 80 hosten. Die Kommunikation zwischen Client und Server setzt voraus, dass mindestens ein bekannter Port vorhanden ist, über den der Client eine Verbindung zum Server herstellen kann.