Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Frokuss
Thema: backend P2P-Server erstellen für WebRTC
Am im Forum: Netzwerktechnologien

Zitat von Abt
[...]
HLS ist am meisten verbreitet und supported[...]
Habe mal eben drüber gelesen... Verstehe ich richtig, dass hier die Kommunikation komplett über den Server lauft? Oder ist das doch ein P2P?

Das Projekt gucke ich mir nun auch einmal an... Aber dafür werde ich wohl was länger brauchen ^^

Danke dir :-)

Thema: backend P2P-Server erstellen für WebRTC
Am im Forum: Netzwerktechnologien

Hallo zusammen,

ich habe mir vor ein paar Monaten ein neues Projekt erstellt. Dort erstellte ich mittels RazorPages nen Webserver (ist ja quasi per Vorlage bereits verfügbar). Auf der Webseite wollte ich die Geräte wie Kamera und Mikrofon ansprechen, was auch soweit geht. Später habe ich noch SignalR eingebunden und konnte neben Text-Nachrichten noch das Video übertragen. Audio war aber nicht möglich.
Vor ein paar Tagen habe ich wieder Lust bekommen und wollte mich dem Problem widmen. Und siehe da, WebRTC sah vielversprechend aus. Allerdings habe ich für mich keine geeignete Webseite gefunden, die mir zeigt/hilft, wie ich meinen eigenen P2P-Server erstelle. Alle verweisen irgendwie auf einen externen Server und die Geschichte ist irgendwie erledigt...

Hier mal meine Fragen, in der Hoffnung ihr könnt mir da irgendwie weiter helfen :-)
1.) Was ist überhaupt eine sinnvolle Technik um einen Audio-Stream von Browser-Client zu Browser-Client zu machen?
2.) Habt ihr einen/mehrere gute Stichpunkte zum googlen und eventuell Tutorials, wie ich einen gescheiten Server dazu erstelle in C#?

Ich code auch eigentlich nur so immer wieder mal zum Spass, weshalb meine Fähigkeiten doch an einigen Stellen mal mehr und mal weniger beschränkt sind... Falls ich daher auf einen völligen Holzweg bin, sagt mir das bitte :-)

Viele Grüß Frokuss

Thema: abstrakte Klasse/Interface: mehrfach Erbung
Am im Forum: Grundlagen von C#

Guen Abend :-)

ich habe jetzt die Tage erst Interfaces verstanden (zumindestens glaube ich das :-D )... und bin jetzt auf abstrakte Klassen gestoßen.
Ich kann ja eine Klasse von einer anderen Klasse erben lassen, als auch gleichzeitig von einem Interface.

Jetzt ist für mich eine abstrakte Klasse eigentlich so ein Mischding aus einer Klasse und einem Interface. Kann ich von einer "normalen" Klasse und einer abstrakten Klasse gleichzeitig erben?

Gruß Frokuss

PS: ich habe noch kein bischen mit abstrakten Klassen bisher gemacht...

Thema: Wie kann ich bei der CheckBox den quadratischen Kasten samt Häkchen ausblenden?
Am im Forum: GUI: Windows-Forms

Cool, danke euch beiden. Habe mir das mal soweit alles angeguckt. Habe es jetzt mit einem Label und dem Click event geregelt... einfach mit dem bool check :-)

@Th69: Genau nach sowas habe ich gesucht <3 :-)

Danke euch beiden Frokuss :-)

Nachtrag: Mit dem Click konnte ich meinen Fall etwas besser lösen, da ich an betreffenden Stellen das/die Events nicht entladen musste

Thema: Wie kann ich bei der CheckBox den quadratischen Kasten samt Häkchen ausblenden?
Am im Forum: GUI: Windows-Forms

Hallo Forum :-)

ist es möglich bei der CheckBox den quadratischen Kasten samt Häckchen auszublenden? Ich brauche nämlich ein Control, was selectable ist, als auch ein, bei dem ich prüfen kann, ob der Anwender es ausgewählt hat. Daher brauche ich auch das CheckChanged-Event. Mit dem

Appearance = Appearance.Button
komme ich leider nicht ans Ziel... da verschwindet der Butten irgendwie unter dem Text... sieht total chaotisch aus :-(

Gibt es eventuell auch eine alternative zur Checkbox?

Bzw... gibt es irgendwo eine Liste von Controls? Habe sowas noch nicht gefunden...

Gruß Frokuss

Thema: Animation (Height verändern) eines Control optimieren?
Am im Forum: GUI: Windows-Forms

Ohhh. Damit habe ich nicht gerechnet :-( Im Kino (35mm) liefen die Projektoren damals mit 24 Bilder / Sekunde (~41ms/Bild)... Die 50 sind dann doch etwas zu viel...

Gibt es denn Möglichkeiten das irgendwie zu umgehen - oder eine alternative?

Thema: Animation (Height verändern) eines Control optimieren?
Am im Forum: GUI: Windows-Forms

Hallo zusammen :-)

ich habe mir eine Klasse erstellt, bei der ich die Höhe eines Controlls ändern kann und diese dann in einem angegebenen Zeitintervall (150 ms) seine aktuelle Größe zur neuen Größe verändert. Allerdings finde ich, dass diese "Animation" nicht flüssig aussieht. Dabei wird alle 5ms die größe neu berechnet und geändert.

Anmerkung: Die "Animation" beeinflusst auch alle Geschwister (Top) und alle Eltern (Height)

Hat jemand eine Idee, was, wie und wo ich besser machen könnte? Ich poste einfach mal meinen kompletten Code (~70 Zeilen).

   class AnimationResizeHeight {
        double oldHeight, newHeight, interval;
        Control control;
        DateTime triggerTime = DateTime.Now;

        private static System.Timers.Timer myTimer;
        public AnimationResizeHeight(Control control, int interval) {
            this.control = control;
            this.interval = (double)interval;
        }

        public int NewHeight {
            get { return (int)newHeight; }
            set { newHeight = value; }
        }

        private void Start() {
            oldHeight = control.Height;

            myTimer = new System.Timers.Timer(___Einstellungen.sys_animation_tick);//5ms
            myTimer.Elapsed += Evt_TimeEvent;
            myTimer.AutoReset = true;
            myTimer.Enabled = true;
            triggerTime = DateTime.Now;
        }

        public void Start(int newHeight) {
            NewHeight = newHeight;
            Start();
        }

        private void Evt_TimeEvent(Object source, ElapsedEventArgs e) {
            TimeSpan ts = DateTime.Now - triggerTime;
            double val = ts.TotalMilliseconds;

            if(val ≥ interval) {
                val = interval;
                myTimer.Stop();
            }

            Resize(val);
        }

        private delegate void ResizeDelegate(double time);
        public void Resize(double time) {
            if(control.InvokeRequired) {
                var d = new ResizeDelegate(Resize);
                control.Invoke(d, new object[] { time });
            }
            else {
                //double test = time / interval;
                double h = ((time / interval) * (newHeight - oldHeight)) + oldHeight;

                control.Height = (int)h;
                control.Update();

                if(control.GetType().Equals(typeof(Liste.Liste))) {
                    Liste.Liste liste = (Liste.Liste)control;
                    liste.CallParent();
                }
                else if(control.GetType().Equals(typeof(Liste.ListenElementDetail))) {
                    Liste.Liste liste = (Liste.Liste)control.Parent;
                    liste.ResizeMe(true);
                }
            }
        }
    }
Und wie folgt rufe ich das ganze ab:

animation = new AnimationResizeHeight(this, ___Einstellungen.liste_animation_aufklappen);
animation.Start(newHeight);
Ich hoffe ihr könnt mir da weiter helfen :-)

Liebe Grüße Frokuss

Thema: Gibt es eine Möglichkeit den Readonly Modifier zu umgehen?
Am im Forum: Grundlagen von C#

Ja, du hast recht... Ich neige manchmal die einfachsten Sachen unnötig kompliziert zu machen. Aber ist ja fix geändert...

Also vom Gedanken her wollte ich auf jeden Fall eine Server-Anwendung erstellen, die den alleinigen Zugriff auf die Datenbank hat. Diese verarbeitet dann die Komandos der ganzen Clients...

Gruß Frokuss

Thema: Gibt es eine Möglichkeit den Readonly Modifier zu umgehen?
Am im Forum: Grundlagen von C#

@T-Virus:
Das mit dem private set ist mal ne super geile Idee :-D Habe ich noch nie vorher drüber nachgedacht :-D

@Abt:
warum ist das ein Fehler in der Architektur? Ich wolle ja nur verhindern, dass die ID sich grundlos ändern lässt. Jetzt habe ich halt genau einen einzogen Fall, in dem ich ihn ändern muss, da mir die ID noch nicht zur Verfügung steht. Ich habe damit die Möglichkeit wie sie mir T-Virus gezeigt hat, oder die Möglichkeit über einen "temporären"-Controll, der mit weniger auskommt und dann ersetzt wird...

Die ID muss nicht zwingend eine Zahl sein. Allerdings kommen die Daten (irgendwann mal) aus der Datenbank. Dort haben die Daten dann eine ID, die sich mit dem in meinem Controll decken würde. Sprich ändere ich den Text in meinem Controll, muss der Text auch in der DB geändert werden (und irgendwann mal im Jahr 3000 auch auf anderen Geräten). Dafür brauche ich die ID.

Ich habe jetzt das mal draus gemacht. Ich weis, ist natürlich total bescheuert, dass in 2 Methoden zu machen - will aber erzwingen, dass die ID nur in ausnahmefällen geändert wird.

        public int ID {
            get { return id; }
            private set { id = value; }
        }

        public int ___ID {
            set { 
                if(id == 0)
                    ID = value;
            }
        }

Aber mal ne Frage... welchen Wert hat denn ein int, wenn ich ihm noch keinen Wert zugewiesen habe? Also null ist es nicht... (int a, b, c;)

Ich kann meinen Anwendungsfall zwar erläutern - dann wäre dies aber wohl eher in der Rubrik WinForms einzuordnen...

Gruß Frokuss

Nachtrag: Darüber habe ich mir noch keine gedanken gemacht XD aber ich hätte sie aus einer DB gezogen... Ja, es handelt sich um eine UI für den Endnutzer. Also alles rund um den Server habe ich noch gar nicht gemacht... nichts!

Thema: Gibt es eine Möglichkeit den Readonly Modifier zu umgehen?
Am im Forum: Grundlagen von C#

Wunderschönen :-)

Also, ich wollte mal fragen ob es eine Möglichkeit den readonly Modifizierer zu umgehen gibt? Der Hintergrund ist, dass ich einen eigenen Control erzeugt habe der als Attribut: readonly int id; hat. Jetzt möchte ich allerdings dynamisch einen solchen Control erzeugen, ohne dass mir die ID bereits bekannt ist... Die ID muss nämlich (theoretisch - habe noch keine DB-Anbindung) vom Server kommen.

Ich vermute dass es nicht geht... Aber die hoffnung stirbt ja bekanntlich zu letzt...

Gruß Frokuss

Thema: ContextMenuStrip an Parent weiter reichen
Am im Forum: GUI: Windows-Forms

Danke dir :-) Habe noch ein paar echt doofe Fehler gefunden... aber das mit dem MouseClick-Event hat mir weiter geholfen :-)

Frokuss

Thema: Kann Form in der Größe dynamisch geändert werden?
Am im Forum: GUI: Windows-Forms

Vermutlich arbeite ich wie nen Bauer (bin recht unerfahren)...

Aber ich verwende immer die Events Resize und ControllAdded...

Resize wird gefeuert, wenn das Control in der größe Verändert wird (z.B. durch den Parent)
ControllAdded wird gefeuert, wenn dem Control ein Control (neues child) hinzugefügt wird.

sprich, wenn du dem Form ein Resize Event zuweist, kannst du in der Resize-Methode auf die verschiedenen Controls eingehen und ihre größe anpassen. Wenn diese Controls auch Resize-Events haben, würden diese dann auch feuern (wenn sich deren größe geändert hat).

Gruß Frokuss

Thema: ContextMenuStrip an Parent weiter reichen
Am im Forum: GUI: Windows-Forms

Guten Abend,

ich habe ein ContextMenuStrip erzeugt. Dies weise ich einem Panel (eigene Klasse) zu, welches komplett mit Labels bedeckt ist. Wie kann ich beim rechtsklick auf das Label das ContextMS im Panel aufrufen? Mit den anderen Events geht das irgendwie ziehmlich einfach...:

public class ListenElementDetail : Panel(){
        public ListenElementDetail (){
            Label l = new Label();//erzeugt mehrere Label
            PipeEvents(l);
        }

        private void PipeEvents(Control ctl) {
            ctl.Click += new EventHandler(Evt_LabelClick);
            ctl.DoubleClick += new EventHandler(Evt_LabelDblClick);
            //weitere Events...

            //ctl.ContextMenuStrip = //hier habe ich die Probleme...
        }

        //Exemplarisches Event - was das Event an den Parent weiter reicht (sagt man da so?)
        private void Evt_LabelClick(object sender, EventArgs evt) {
            this.OnClick(evt);
        }
}
Vielleicht kann mi da ja jemand weiter helfen...

Danke :-)
Frokuss

Thema: Ist es sinnvoller oder performanter mit Events zu arbeiten?
Am im Forum: GUI: Windows-Forms

Ja gut. Da hast du vermutlich recht. dachte nur, wenn ich super viele Events habe, könnte sich das irgendwann etwas deutlicher auswirken.

Gruß Frokuss

Thema: Ist es sinnvoller oder performanter mit Events zu arbeiten?
Am im Forum: GUI: Windows-Forms

Also unabhängig davon, dass ich Action noch nice vorher gehört habe, macht es erstei einmal Sinn das ganze weiterhin mit Events zu lösen.
Aber spielt es eine Rolle, wenn ich alle Events vom Kind auf die Eltern umleite oder ob ich den Kindern direkt durch die Eltern das Event zuordne? Oder ist das im Grunde irrelevant, weil es kaum einen Performence-Unterscheid gäbe?

Gruß Frokuss

Thema: Ist es sinnvoller oder performanter mit Events zu arbeiten?
Am im Forum: GUI: Windows-Forms

Naja, ich dachte da gäbe es wohl einen Unterscheid... Aber wenns quas keinen gibt, ist es ja gut :-)

Gruß Frokuss

Thema: Ist es sinnvoller oder performanter mit Events zu arbeiten?
Am im Forum: GUI: Windows-Forms

Hallo Leute,
habe da mal eine Frage, was sinnvoller wäre um mit Events zu arbeiten...
Ich habe mir 2 Controls - Liste ( : Panel) und ListenElement ( : Label) - erstellt. Eine Liste kann dabei beliebig viele ListenElemente haben, solange die ID des ListenElementes nur einmal vorkommt. Sprich ich habe mehrere Listen, bei denen ich mittels Drag&Drop die ListenElemente in eine andere Liste kopieren(!) kann.

Dabei ist es nun so, dass die Liste zu 100% von ListenElementen bedeckt ist. Das bedeutet, dass wenn ich etwas Droppen will, dass ganze auf dem ListenElement (Label) geschieht. Und das ist jetzt der Punkt an dem ich nicht weis, was sinnvoller wäre:

1.) Wie ich es aktuell habe:
Da das ListenElement nur Informationen über sich selber hat (z.B: die eigene ID), kann ich das Event zum Droppen nicht im ListenElement erstellen sondern muss dies in der Liste erstellen, die alle Informationen über seine Kinder hat.
Das bedeutet, wenn ein ListenElement in die Liste hinzugefügt wird, weisen ich direkt in der Liste dem ListenElement das DropEvent zu und habe damit alle Informationen aus der Liste zur Verfügung.

2.) Ich bin gestern Abend bei Suche auf einen kleinen Thread hier im Forum gestoßen: Click- und Hover-Events von Label an Parent (Button) weiterleiten?!?
Dort wurde geschrieben, dass es die OnXyz-Methoden gibt. Ich weise jedem ListenElement direkt in seiner Klasse Events hinzu nach folgenden Format:

        private void Evt_DragDrop(object sender, DragEventArgs evt) {
            if(this.Parent != null)
                    this.Parent.OnDragDrop(evt);
        }
und habe dazu dann in meiner Liste nur ein Event, was das ganze dann handelt.

Zusammengefasst:
- Entweder weise ich jedem ListenElement ein Event in der Liste hinzu, oder
- ich leite alle Events vom ListenElement an die Liste weiter (wie in dem Code-Beispiel)

Mir gehts ejtzt also eigentlich darum, was sinnvoller wäre, bzw. was performanter wäre... Hoffe ihr könnt mir da weiterhelfen :-)

Gruß Frokuss

Thema: Für was ist ein Interface gut?
Am im Forum: Grundlagen von C#

Also :-D Ich glaube nicht, dass du sehr kompliziert denkst... Denn das tue ich in der Regel... ;-D

Eigentlich wollte ich von zwei Klassen gleichzeitig erben. Was ja nicht geht. Deswegen dachte ich, dass da Interfaces helfen. Da in einem Interface allerdings nur public-Sachen sein dürfen, hilft das ganze mir nicht wirklich weiter... in dem anliegen. Es hilft mir aber dahingegen weiter, dass ich bestimmt Attribute (über get und set) und Methoden erzwingen kann.

Die Frage ist nun eher, warum ich das ganze wollte...
Ich erstelle mir grade eine "Liste" (Panels) die beliebig viele "ListenElemente" (Labels) enthalten kann. Jetzt wollte ich aber die möglichen Childs durch einen weiteren Control (ListenElementDetails) erweitern. Da jetzt aber ListenElement und ListenElementDetails vom gleichen Typ sein müssen, dachte ich mir, dass zumindestens das durch das Interface geregelt werden kann...

Aber... und das klingt jetzt unglaublich:

public Collection<Control> MyControls { get; }
ist schon die Lösung... ListenElement und ListenElementDetails sind beiden Controls... Ich §$%&/(
Ich habe vorher das verwendet:

SortedList<int, ListenElement> objElemente = new SortedList<int, ListenElement>();

Die Can[...]-Methode verwende ich quasi auch... heißt nur nicht so ^^ Aber was die Events angeht, werde ich einen neuen Thread (unter WinFOrms) aufmachen, da dies hier ja nichts zu suchen hat und noch mal ein anderes Problem enthält...

Bedeutet, eigentlich brauche ich nicht mal ein Interface (werde es aber trotzdem verwenen, um bestimmte Sachen zu erzwingen).

Super vielen lieben Dank :-)
Frokuss

Thema: Für was ist ein Interface gut?
Am im Forum: Grundlagen von C#

Cool danke :-) Das sieht jetzt einfacher aus, als ich erwartet habe XD

Was das ganze mit meinen Events angeht... Ich versuche das einfach so handzuhaben, dass jedes Control nur die Events implementiert hat, die es aufgrund seiner eigenen Daten auch richtig verwalten kann. Sprich mein Label hat nur die Information, ob es gedragt werden darf oder nicht. Dies wird dann dort auch gehandhabt. Und zwar nur das.

        protected bool evt_mouseDown = false, evt_dragStarted = false;
        bool allowDrag = false;

        public ListenElement(int id, string typ) {
            this.id = id;
            this.typ = typ;
            this.TextAlign = ContentAlignment.MiddleLeft;
            this.Font = new Font(___Einstellungen.schriftart, ___Einstellungen.liste_textheight, ___Einstellungen.GetStyle());

            this.MouseDown += new MouseEventHandler(Evt_MouseDown);
            this.MouseUp += new MouseEventHandler(Evt_MouseUp);
            this.MouseMove += new MouseEventHandler(Evt_DragStart);
            this.DragEnter += new DragEventHandler(Evt_DragEnter);
        }

        public bool AllowDrag {
            get { return allowDrag; }
            set { allowDrag = value; }
        }

        private void Evt_MouseDown(object sender, MouseEventArgs evt) {
            if(allowDrag)
                evt_mouseDown = true;
        }

        protected virtual void Evt_DragStart(object sender, MouseEventArgs evt) {
            if(evt_mouseDown && !evt_dragStarted) {
//Anmerkung: Da ich verschiedene Daten habe, brauche ich "typ" um die Daten-Art zu erkennen und die ID um den Datensatz zu identifizieren
                string val = typ + Daten.Daten.StringTrennzeichen + id;
                this.DoDragDrop(val, DragDropEffects.Copy | DragDropEffects.Move);
                evt_dragStarted = true;
            }
        }
//...
Auch werden dort Events implementiert, die seine Form ändern. z.B. bei meiner Liste wird bei einem Klick (auf die Kopfleiste) die Liste Maxi- bzw. Minimiert.

Das ganze ist allerdings noch etwas komplizierter als hier, da ich innerhalb einer Liste noch weiteren Listen haben kann.

Aber wie gesagt: Wenn das Control mit seinen Daten das Event handhaben kann, dann ist es dort implementiert, ansonsten ist es in einem Parent-Node (oder im Parent des Parent des ... :-D ) implementiert. Ganz oben steht dann ein Objekt, dass so gesehen auf alle Daten und Controls zugriff hat. Das ist bisher das einzige womit ich in meinem Projekt unzufrieden bin... Vermutlich weil es die Schnittstelle zwischen den Daten und der Oberfläche ist...

Aber auf jeden Fall: Danke :-)
Gruß Frokuss

EDIT:
kleinen Fehler in meinem Code gefunden... DoDragDrop läuft ja synchron ab...

        protected virtual void Evt_DragStart(object sender, MouseEventArgs evt) {
            if(evt_mouseDown) {
                string val = typ + Daten.Daten.StringTrennzeichen + id;
                this.DoDragDrop(val, DragDropEffects.Copy | DragDropEffects.Move);
                evt_mouseDown = false;//Hier ist DoDragDrop bereits abgeschlossen. Deswegen brauche ich die Variable zur Kontrolle gar nicht...
            }
        }

Thema: Für was ist ein Interface gut?
Am im Forum: Grundlagen von C#

Zitat von "Palladin007"
Wenn das bei dir nicht reicht, weil dein Panel aus irgendeinem Grund die Ids wissen muss, dann kann das Interface helfen. Aber wie gesagt: Das klingt sehr stark danach, dass Du Schichten vermischst, die getrennt gehören.
Ich arbeite da aktuell mit diversen Events (unter anderem Drand&Drop)... Das bedeutet, jedes Label (Kind) darf nur maximal einmal im Parent (Panel) enthalten sein. Wenn es nicht vorhanden ist, wird eine Kopie des Label (Kind) gemacht. Jetzt kann es aber sein, dass sich ein Label (kind) ändert. Und dann soll sich jedes andere gleiche/geclonte Kind ändern. Ich habe daher mehrere Panels...
Das Panel verwaltet daher direkt, ob ich ein Kind überhaupt Droppen darf, oder nicht. Kenne mich aber noch nicht so gut mit den 3 Schichten aus... Achja... und die Kinder werden alphabetisch sortiert ^^
Zitat von "Palladin007"
Wenn Du deinen Controls nun ein Interface gibst, dann musst Du bedenken, dass die Objekte, nur weil sie das Interface implementieren, nicht automatische Controls sind.
Ich würde es daher anders herum machen, dass Du nur Controls erwartest, aber darauf prüfst, ob sie das Interface implementieren und dann damit umgehst, alle ohne das Interface bekommen ein Default-Verhalten.
Kannst du mir sagen, wie ich das anstelle?

Grüße Frokuss

Thema: Für was ist ein Interface gut?
Am im Forum: Grundlagen von C#

Okay, ich danke dir ersteinmal für deine Erläuterung :-) Hat mir zumindestens etwas weitergeholfen.

Das bedeutet für meinen Anwendungsfall, dass ich sinnvoll sein kann. Denn ich möchte zwei verschiedene Controls erstellen, die theoretisch in beliebiger Reihenfolge parallel auf der gleichen Control-Ebene (daher Parent ist der gleiche Knoten) sein können. Da ich in meinem Fall diese am besten in einem gemeinsamen Dictionary aufnehmen möchte, wäre es also ratsam :-)

Danke dir :-)
Frokuss

PS: von Unit-Test bin ich noch super weit weg ^^

Thema: Für was ist ein Interface gut?
Am im Forum: Grundlagen von C#

Wunderschönen guten Abend,

ich habe mich grade einmal versucht in Interfaces einzuarbeiten. Aber irgendwie fehlt mir hier das Verständis für... Hatte gedacht, dass mir das irgendwie weiterhelfen kann...

Hintergrund hierfür ist, dass ich eigentlich aus zwei Klassen erben will - was aber nicht geht. Ich habe zwei Klassen, die jeweils von anderen Control (Panel und Label) erben und beide teilweise identische Methoden und Attribute haben. Daher wollte ich das ganze nicht doppelt erzeugen...

Habe ich es also richtig verstanden, dass mit interfaces eigentlich nur für folgendes helfen:
1.) nicht vergessen vom implementieren von Attributen und Methoden
2.) zum iterativen durchlaufen einer solchen "Sammlung"

So sieht aktuell mein erster Versuch aus:
Interface:

    interface IListenElement {
        int ID { get; }
        string Typ { get; }
    }
eine Klasse:

    public class ListenElement : Label, IListenElement {
        readonly int id;        //eindeutige Kennung
        string typ;
        protected bool evt_mouseDown = false, evt_dragStarted = false;
        bool allowDrag = false;

        public ListenElement(int id, string typ) {
            this.id = id;
            this.typ = typ;
            this.TextAlign = ContentAlignment.MiddleLeft;
            this.Font = new Font(___Einstellungen.schriftart, ___Einstellungen.liste_textheight, ___Einstellungen.GetStyle());
        }

        public int ID {
            get { return id; }
        }

        public string Typ {
            get { return typ; }
        }
}
Sprich in meinem Fall bringt mir das eigentlich nur mehr arbeit :-D Vielleicht kann ja jemand etwas Licht hinter die Sache bringen... Wäre super :-)

Gruß Frokuss

PS: zumindestens habe ich endlich mal herausgefunden wofür dieses große I im "Klassennamen" steht XD Dachte die ganze Zeit das steht für I = ich :-D

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

Cool danke :-) Dann gucke ich mir das alles mal näher an :-)

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

Also... ich glaube ich drücke mich ein wenig sehr umständlich aus... Sorry dafür!

Für mich steht fest, dass das ganze nur klappen kann, wenn es eine Stelle gibt, die alle kennt. Das ist meiner Auffassung nach die Aufgabe vom Server. Dieser leitet dann alles an die entsprechenden Clients weiter.
Dem Server sind die Clients erst bekannt, wenn diese sich bei ihm melden/registrieren.

Wenn du das mit der Architektur meinst, dann sind wir uns einige.

Ich habe aber bis dato noch nie mit ASP.NET und so irgendetwas gemacht. Und genau dies ist mein großes Fragezeichen. Bedeutet, im Idealfall kann ich das ganze in genau einer Serveranwendung implementieren. Ansonsten muss ich gucken, wie diese beiden Server-Teile kommunizieren können.

Das ganze HTML/CSS/JS-Zeugs stellt im Grunde kein Problem dar (auch wenn ich mit jQuerry noch nie etwas gemacht habe).

Werde mir mal das Azure angucken. Danke :-)

Frokuss

EDIT: Achso ne, das scheidet aus. Wills ja selber machen/lernen ^^ Und wenn ich dafür 2 Jahre brauche ist es auch okay :-)
Ist nur nen Hobbie von mir. Also nichts mit beruflichen Kontext.

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

Zitat von "Abt"
Zitat von "Frokuss"
Also mein Grundgedanke war, dass ich jedem User einen Thread (Prozess hast du ja abgeraten) zuweise und dort sämtliche Verbindungen von ihm habe.

Was ist "dort" und was ist "sämtliche" ?
Es kommt ganz drauf an was Du vor hast.
Damit meinte ich, dass ich in einem Thread alle Verbindungen eines einzelnen Anwenders habe. Daher, es kann ein Anwender über mehrere gleichzeitig Geräte verbunden sein. Bekommt er also z.B. eine private Nachricht, wird diese an all seine Endgeräte geschickt. Eigentlich auch alle anderen Nachrichten XD Das ist zumindestens das Ziel.
Zitat von "Abt"
Dir bringt der Einsatz einer Technologie gar nichts, wenn Du Dich für einen Weg entschieden hast, der konzeptionell in echten Umgebungen gar nicht funktionieren kann.
Da stimme ich dir vollkommen zu. Ich dachte allerdings, dass ich einfach eine Verbindung aufbaue, dann kommt eh ne Firewall -Meldung - unter Windows - für ne Ausnahme am Client-System und das ganze ist geregelt?

Wo ich vermutlich Probleme haben werde ist, wie ich es schaffe, dass jemand aus dem Browser mit einem aus meiner Desktop-App kommuniziert. Das ganze wird ja eh über den Server laufen - so viel steht ja eh fest; zumindestens für mich.
Wenn ich die Quelle von M.I. richtig verstanden habe, geht es dort um "Browser zu Browser". Hilft mir aber dahingehend, das ich zumindestens erst einmal herausfinden kann, was wie wo mit diesem Ansatz geht. Bin da allerdings noch dran.

Gruß Frokuss

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

Ehm... Momentmal... worüber genau sprechen wir grade? Über "Webseite" zum Server, oder über (Desktop)-App zum Server? Oder laufen beide über HTTP? O.o

Ich habe mal vor 1,5 Jahre das mit ner Stream-Variante gemacht (glaube Networkstream) und konnte zumindestens innerhalb des Netzwerkes mit einem anderen Gerät eine Verbindung aufbauen und Nachrichten austauschen...

Also mein Grundgedanke war, dass ich jedem User einen Thread (Prozess hast du ja abgeraten) zuweise und dort sämtliche Verbindungen von ihm habe. Damit könnte er mit mehreren Geräten eingelogt sein. Das ganze dann über einen Dictionary geregelt, so dass ich anhand der User-ID auf den entsprechenden Thread zugreifen kann und dort dann die Nachricht senden kann. Das hat zumindestens im super kleinen (4 Geräte) geklappt XD

Gruß Frokuss

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

Ja... zum Server werde ich auch noch einige Fragen haben ^^ Hatt vor ca. 1,5 Jahren mal was gemacht, bei dem jede Verbindung in einen eigenen Thread war... Denke da nun in Richtung Prozess... Aber das muss ich mal gucken... kenne ich mich noch nicht mit aus und werde mich wohl bei Zeiten an euch wenden.

Bevor ich aber mit der Infrastruktur anfange, muss ich erst einmal gucken, wie das geht... Hatte schon genug Probleme ersteinmal mich hier zurecht zu finden, wo welche files liegen...

Gruß Frokuss

Thema: Session / Cookies Handling des Forums meldet mich alle paar Stunden ab
Am im Forum: Smalltalk

Zitat von p!lle
Was heißt denn "gesperrt"?
Ich würde eher sagen: man wurde nicht eingeloggt.
Naja, aber bei mir ist auf jeden Fall nach dem login die Seite gekommen, bei der auch der Link angezeigt wurde, wenn die automatische Weiterleitung nicht funktioniert... Ich war auch für sehr sehr sehr kurze Zeit eingelogt. Konnte auf "meinem Profil" sehen, was ich aktuell betrachte.

Aber wie gesagt, löschen der Cookies hat hier weitergeholfen.
Frokuss

Thema: Was muss ich bei einem Server mit ASP-Schnittstelle beachten?
Am im Forum: Netzwerktechnologien

@M.I.: genau, quasi nen Chat. Danke dir :-)
@Abt: Ja, mit Client meinte ich Desktop, später vielleicht auch mal fürs Mobile-Endgerät. Sorry keiner vom Fach..

Zitat von "Abt"
Einfach mal in die Microsoft Docs schauen.
Die sind gut, aktiv und aktuell - dafür sind sie da.
Durfte mir aber bereits häufiger anhören, dass ich auf veralteter Technik was mache... Und wollte es dann einfach mal anders angehen XD

Den Artikel habe ich ersteinmal überflogen und scheint in die RIchtung zu gehen, die ich dachte. Danke <3

Vielen Dnake euch beiden
Frokuss

Thema: Session / Cookies Handling des Forums meldet mich alle paar Stunden ab
Am im Forum: Smalltalk

Also, das löschen der Cookies hat bei mir zur Lösung verholfen. Ich wurde allerdings unmittelbar NACH dem login gesperrt und konnte weder einen neuen Post noch eine PM absetzen. Konnte also wirklich nichts machen...
Das ganze war mit dem FF 69.0.3 (64-Bit).

Gruß Frokuss