hallo,
ich wollte mich mal erkundigen, was es an sinnvollen Alternativen gibt bzw. was ich besser machen könnte...
Es geht um das freigeben eines Ports bzw. das Hosten...
Mein Server öffnet nen Port (den er aus ner txt.Datei liest um ihn auch mal ändern zu können) aber da kann ich jetzt nur mit einem Client draufzugreifen...aber es sollten mehrere sein...das ganze läuft über WCF...ist es jetzt besser mehrere verschiedene Server laufen zu lassen (für jeden Client einen) oder einen Server der mehrere Ports öffnet?
Spoiler anzeigen
ich wollte mich mal erkundigen, was es an sinnvollen Alternativen gibt bzw. was ich besser machen könnte...
Es geht um das freigeben eines Ports bzw. das Hosten...
Mein Server öffnet nen Port (den er aus ner txt.Datei liest um ihn auch mal ändern zu können) aber da kann ich jetzt nur mit einem Client draufzugreifen...aber es sollten mehrere sein...das ganze läuft über WCF...ist es jetzt besser mehrere verschiedene Server laufen zu lassen (für jeden Client einen) oder einen Server der mehrere Ports öffnet?
Der Code vom Server...
Der Code vom Server...
C#-Quellcode
- public MainWindow()
- {
- InitializeComponent();
- ServiceHost sh = new ServiceHost(typeof(Cservice));
- string Host = System.Net.Dns.GetHostName(); // Name im Netzwerk
- var IPAddress = Dns.GetHostEntry(Host).AddressList.First(adr => adr.AddressFamily != AddressFamily.InterNetworkV6); //gibt ipv4 zurück
- FileInfo fi = new FileInfo(System.Windows.Forms.Application.ExecutablePath); // Pfad von .txt-Datei im Debug-Verzeichnis vom Server
- string path;
- path = fi.DirectoryName + "\\Portnummer.txt";
- string portnummer;
- portnummer = File.ReadAllText(path); // liest Portnummer aus .txt heraus
- sh.AddServiceEndpoint(typeof(Ivertrag), new NetTcpBinding(SecurityMode.None), "net.tcp://" + IPAddress + ":" + portnummer + "/IvertragAsynchron");
- sh.Open();
- string adresse;
- adresse = "Server läuft auf: " + "net.tcp://" + IPAddress + ":" + portnummer + "/IvertragAsynchron";
- txtBoxOben.Text ="Portnummer: " + portnummer+ "\r\n" + adresse;
- }