Frage

Ich geschrieben habe einen WCF-Dienst gehostet von einem Windows-Dienst, und es Bedürfnisse zu hören auf einem TCP/IP-port.Von dem, was Palette kann ich sicher reservieren Sie einen port für die Verwendung innerhalb meiner Organisation?Dass dieser port wird eingebettet in die config-Dateien für den service und die Kunden, die verbrauchen service.

War es hilfreich?

Lösung

Wählen Sie eine Portnummer 49152 bis 65535.

IANA veröffentlicht eine Liste der aktuell zugewiesenen ports.

http://www.iana.org/assignments/port-numbers

Die Dynamische und/oder Private Ports 49152 bis 65535.Dies ist der Bereich, von wo aus Sie SOLLTEN wählen Sie einen port für Ihre in-house-Anwendungen.Natürlich jeder port die Zugehörigkeit zu einer der nicht zugewiesene Bereiche auf der veröffentlichten Liste kann verwendet werden.Aber seien Sie sich bewusst, dass Sie durch das auswählen einer port-Nummer von den nicht zugewiesenen Bereichen gibt es keinerlei Garantie, dass der port, den Sie wählen, wird nicht ein vorbehalten port in die Zukunft.

NICHT ZUGEWIESENE PORT-NUMMERN SOLLTEN NICHT SEIN VERWENDET.DIE IANA WEIST DIE ANZAHL FÜR DEN PORT NACH IHRER ANWENDUNG GENEHMIGT WURDE.

Und stellen Sie sicher, dass die Portnummer, die Sie wählen konfigurierbar ist, wie Sie erklärte:

Dass dieser port wird eingebettet in die config-Dateien für den service und die Kunden, die verbrauchen service.

So vermeiden Sie Kopfschmerzen in Fall einige andere 3rd-party-Sie-nicht-touch-software ist mit Ihrer port-Nummer.Wenn das passiert, Sie einfach gehen Sie voran und ändern Sie es auf die Konfiguration Datei und es funktioniert einfach.

Andere Tipps

Ports 0-1023 sind die Bekannten Ports und sind assigned by IANA.Diese sollten nur verwendet werden für die zugeordneten Protokolle über öffentliche Netzwerke.

Ports 1024-65535 verwendet zu werden genannt Registrierte Portnummern (siehe rfc1700), aber sind nun aufgeteilt in zwei Bereiche (siehe rfc6335).

Ports 1024-49151 sind die Benutzer-Ports und die Verwendung für Ihre eigenen Protokolle.

Ports 49152-65535 sind die Dynamischen ports und sollte nicht vorgeschrieben werden, um ein Protokoll.

Die Benutzer-Ports können verwendet werden für jedes Protokoll, aber es gibt eine endliche Zahl, so dass Ihre Verwendung wird Zusammenstoß mit jemand elses einige Netzwerk-irgendwo.IANA halten Sie eine Aufzeichnung der registrierten port Nummern (0-49151).Wenn Ihr Protokoll verwendet werden auf die öffentlichen Netze dann müssen Sie schauen in der Registrierung bei der IANA.Wenn Sie nur verwenden es in Ihrem eigenen Netzwerk dann wählen Sie einen port in diesem Bereich (1024-49151) und überprüfen Sie, dass die port-gegen die IANA-register um sicherzustellen, dass es nicht verwendet wird, indem ein Protokoll, das verwendet werden könnte, auf Ihr Netzwerk.Für den privaten Gebrauch ist es wahrscheinlich besser, wählen Sie eine Nummer, die zugewiesen wird, ein Protokoll, Sie wissen, dass es nicht verwendet werden als ein zu wählen, ist nicht zugewiesen und können so zugewiesen werden, in die Zukunft.

Verwenden Sie nicht die port-Nummer innerhalb des Dynamischen Bereichs. Diese ports werden vom Betriebssystem vergeben, dynamisch und etwas willkürlich.Wenn Sie öffnen Sie eine client-Verbindung (mittels bind (), port=0) erhalten Sie einen ungenutzten port aus dem dynamischen Bereich.Es gibt keine Möglichkeit zu garantieren, dass ein port in diesem Bereich werden immer kostenlos für Ihr Protokoll.

Kurze Antwort:Vermeiden Sie, alles bis zu und einschließlich 1023, oder über 49152, und testen Sie die gewählte port-gegen-Dienste auf Ihrem Netzwerk.

Wenn Sie haben die angemessene Vorsichtsmaßnahmen, dass es scheint, Sie haben (legen Sie die port-Nummer in einer config-Datei), sollte es nicht zu einer enormen Störung wenn Sie später entdecken Sie einen Konflikt.

Aber (damit kann ich etwas hinzufügen, um weitere Vorschläge aufgetaucht, während ich schon Typisierung) stellen Sie sicher, dass Sie es einfach machen, das zu ändern!Wenn es in den config-Dateien, machen es offensichtlich.Dokumentieren Sie es und zeigen Sie es in der Fehlerbehebung.Es ist die Art von Dingen, die schief gehen können, also machen Sie es einfach zu Debuggen, wenn es geändert werden muss.

Zusätzlich zu den anderen Kommentaren über die Kommissionierung eine gemeinsame Anwendung port, ich würde vorschlagen, dass Sie machen die port konfigurierbar innerhalb Ihrer Anwendung.Hard-coded port-Nummern sind eine schlechte Idee, besonders wenn Sie später finden, ein port-Konflikt mit einer anderen Anwendung wechseln müssen, Ihre.

Hier ist eine gute Liste der gemeinsamen Anwendung ports.Machen Sie Ihre eigene Wahl in einen leeren slot.Vielleicht sollten Sie auch Scannen Sie Ihr Netzwerk für alle in-house special application.

In der Regel high-zahlen-Anschluss sind vorhanden, und ich würde Ihnen vorschlagen, aber Sie könnten durch firewalls blockiert.

Als Hinweis: denken Sie daran zu überprüfen die port von netstat /a /n um zu sehen, ob seine Verwendung durch andere Anwendung oder nicht.Ich finde heraus, vista verwendet die 49152 ....für einige application-level-Grund.Im Grunde, weil die meisten der system-Ebene Hörer nicht implementieren port-Freigabe seiner sehr sicher zu verwenden, die die ports, die überhaupt nicht verwendet werden.

haben schönen Tag Programmierung AMir

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