Service VS Socket

  • VB.NET
  • .NET 5–6

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Amro.

    Hi.

    Wenn der PC2 als Hautp-Server dient, dann würde ich unter Windows eine ASP.NET (6) API schreiben und für die Datenhaltung eine SMB-Freigabe auf dem File-Server.

    Dann (wenn überhaupt nötig) ein Webinterface auf PC-1 (Fernsteuerungs-PC) die dann mittels HTTP-Requests die Befehle per REST-API an PC-2 abschickt.

    Und die Freigaben (SMB/NFS) ergeben sich ja fast von alleine...

    Also schreibt/liest jeder PC die Dateien wegen der gemeinsamen Freigabe. (Halt ein Ordner auf dem lokalen PC-1/2)

    MfG Joshi aus HH

    P.S. : Gut das ich beim Fensterputzen eine Pause mache... ;)
    Das direkte zuliefern ist in dem Fall vielleicht nicht geeignet.
    Programm2 hat schon etwas zu tun um die Daten als XML wiederzugeben.
    Das ist eine vereinfachte Ansicht die alle relevanten Daten enthält.
    Für andere Benutzer ist es dann einfacher und schneller auf die XML Datei zuzugreifen.
    Programm1 ist sozusagen nur der Verwalter der die Dateien ein oder zweimal am
    Tag aktuallisieren läst (Mit den Befehl an Programm2).

    Mein Gedanke ist: Entweder über ein Dienst oder mit Socket(tcp/ip).
    Mit beiden hab ich mich bisher noch nicht befasst.
    Deshalb weiß ich nicht welche und ob diese Lösungen überhaupt in Frage kommen.
    ASP.Net ist auch nicht mein Gebiet und ich brauch wirlich nur ein Befehl ("Daten aktuallisieren!").
    Also das sind zwei unabhängige "Requests" (so heisst das bei uns):
    1. Aktualisieren der Xml-Datei anstossen
    2. Xml-Datei holen
    Und deine Frage bezieht sich eiglich nur auf 1. - weil das mittm FileServer kriegste schon hin.



    Jo, dann kann man das vlt. billiger mit olle Socket abfackeln.
    Allerdings wäre stark zu empfehlen, für den Client einen TcpClient zu verwenden, und für den Server einen TcpListener.
    TcpClient / TcpListener sind komfortabler zu verwenden, weil sie kapseln je einen Socket, und reduzieren ihn quasi aufs für das Tcp-Protokoll notwendige.
    Dazu gibts Tuts im Tut-Bereich.
    Allerdings wird da meist ein Chat umgesetzt - also ein Server antwortet nicht nur, sondern antwortet sogar an viele.
    Brauchst du ja garnet.
    Du willst ja eiglich:
    • verbinden
    • Befehl senden
    • Erfolgsmeldung empfangen
    • trennen
    Da wäre WCF wieder besser für, weil da automatisch jeder Befehl sich verbindet und wieder trennt.
    Weiss nicht, obs auf VBP Tut dazu gibt, aber im Netz bestimmt.
    Es gibt glaub sogar im Visualstudio eine Projekt-Vorlage, die ein WCF-Projekt hinhaut.

    ach - guckma: Mini-Tipp: WCF - Chat (Windows Communication Foundation)
    Servus leute,
    für diejenigen die das gleiche vorhaben,hab jetzt ein Funktionierendes WCF Beispiel gefunden.
    Der Endpoint ist WCF netTcpBinding.
    Ist zwar ganz einfach aber man kann drauf aufbauen.
    debugmode.net/2011/02/26/cross…et-application-using-wcf/

    Wichtig ist das der Client die IP vom Server bekommt (in App.config ändern).
    Auch wichtig der Server muss als Admin gestartet werden.

    Gruß
    Amro