Ich versuche mich gerade an der Dateiübertragung übers Netzwerk. Der Server kann mehrere Client Verbindungen speichern und verarbeiten. Eigentlich ist der Server eine Art Chatserver. Der Client verbindet sich und der Stream wird in einer Hashtable gespeichert. Eine Schleife durchläuft dann immer die Hashtable und führt die entsprechenden Aufgaben aus. Als kleines Feature wollte ich die Dateiübertragung hinzufügen.
Nun könnte es aber auch sein das mehrere Clients gleichzeitig Daten empfangen bzw. senden. Der Server bekommt erst einmal eine Info das eine Dateiübertragung gestartet wird. Da ich für die Dateiübertragung keinen neuen Port benutzen will sondern die bereits vorhandene Verbindung kam ich auf die Idee einen neuen Thread zu starten. Dieser Thread soll dann die Dateiübertragung durchführen. Es hätte also jeder Client für die Dateiübertragung einen eigen Thread. Das Problem ist aber wenn der Client nun unerwartet die Verbindung beendet. So wie ich das mit der Dateiübertragung gelöst habe wartet der Server immer auf Daten ohne ein Timeout.
Wenn der Client nun die Verbindung beendet, bleibt der Server in der Schleife obwohl nix mehr gelesen werden kann.
Warum merkt der Server in dem Moment nicht das er gar nicht mehr lesen kann ?
Das ganze funktioniert im Moment auch nur für einen Client aber ich wäre die Threads dann in einer Hashtable speichern. Ist das eine halbwegs gute Lösung ?
mit m.Index und m.Length von zwei aufeinanderfolgenden Matches, kannst du nicht nur das Tag, sondern auch den Text zwischen den Tags ausschneiden ... und eben wieder zusammenbasteln.
Dies kann ich doch nur machen wenn ich vorher alle nicht geschlossene bzw. nicht geöffnete Tags entfernt habe.
Kann sein das ich mich jetzt total dumm anstelle aber irgendwie verstehe ich das nicht.
Ich habe den Index und die Länge vom Start- und Endtag. Damit kann ich ohne Probleme die Tags umwandeln aber wie bekomme ich das wieder in den Text ?
Aber dann müsste ich den Index einmal verändern und alle weiteren Tags würden nicht mehr passen.
Wenn das Programm in der m.Success Schleife ist und bei einem gefundenen Paar eine Änderung an dem original String vorgenommen wird stimmt doch der Index für die anderen Tags nicht mehr.
Wenn ich das habe kann ich ja mit string.Replace(..) die Tags umwandeln.
Aber ich möchte ganz gerne auch die Code Tags verwenden und in innerhalb von Code darf der BBCode nicht umgewandelt werden.
Wie kann ich da am besten vorgehen ?
Ich glaube mein Problem liegt noch an einer anderen Stelle. Ich kann aus einem Thread, nachdem die Seite geladen wurde, nicht mehr auf die TextBox zugreifen.
Es kommt keine Fehlermeldung aber es wird nicht mehr geschrieben.Eine Ausgabe auf der Console zeigt aber das noch Daten empfangen werden.
Gibt es ASP.NET kein invoke oder gibt es alternative zu Threading ?
Erst einmal Danke für die Antworten.
Ich denke Atlas (AJAX nur von MS) ist schon schon das richtige. Um es mal ein bischen genauer zu machen ich möchte ein IRC Webchat programmieren.
Wenn der User sich einloggt wir eine Verbindung zum IRC hergestellt.Das ganze Netzwerkverfahren läuft als Thread nebenher.
Auf der Seite http://atlas.asp.net/docs/Default.aspx gibt es einige Beispiel nur leider keines wie ich es brauche. Es muss in die TextBox jederzeit was eingetragen werden können oder die Seite zu aktualisieren.
Ich möchte gerne eine ASP.NET Webseite erstellen. Diese Seite empfängt Daten über ein Socket.Soweit ist auch alles OK nur wie füge dann den empfangenen Text in eine Textbox hinzu wenn die Seite schon geladen ist ?
Hallo ich habe eine kleines Problem.Ich will ein Item in einer Listbox einfügen.
Dabei kommt folgender Fehler:
System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
Die Listbox ist static hat das Problem damit was zu tun ?
Das ist das erste Mal das ich damit Probleme habe
Ich habe ein Bild welches ich in einer Oracle Datenbank speichern möchte.
Ich benutze dazu die Methode FromBase64String().Nur gibt es in Oracle offenbar kein Datentyp der diese Größe unterstüzt.
Gibt es eine andere Möglichkeit oder gibt es doch einen Oracle Datentyp für so was ?
Wie hast du das Anmeldeproblem den jetzt gelöst? Wenn ich das in der Reihenfolge wie Programmierhans meinte kommt bei NICKSERV identify nick 123456 die Meldung vom IRC: "451 NICKSERV :You have not registered"
Ändert aber nix an meinem Problem.Ich will den Kreis verschieben per Tastendruck.Wenn der Kreis ganz Rechts ist soll ein weiterer Kreis gezeichnet werden.Der alte Kreis soll aber dableiben.
Ich möchte gerne einen Kreis zeichnen und dieses mit den Tasten bewegen.Ist soweit auch alles kein Problem nur wenn ich später einen zweiten Kreis hinzufüge ist der erste wieder weg.
Danke für die zahlreichen Antworten.Ich kann also die dll-Datei in meinem kommerziell Programm benutzen, muss aber darauf Hinweisen das die dll. nicht von mir ist ?!
Ich habe jetzt mal versucht was zu LGPL und kommerziellen Einsatz zu finden, aber irgendwie finde ich nix dazu.Wenn sich da einer besser auskennt das würde mich das interessieren.
Ich würde gerne ein kleines Diagramm selber machen. Dieses Diagramm soll den Aktienkurs mehrerer Aktien in einer Woche anzeigen. Also eine Gerade welche von den Aktienwert an einem Tag zum nächsten verläuft. Wie man es halt von der Börse kennt .Ich möchte dies ganze aber gerne so individuell wie nur möglich machen.
Die Anzahl der Tage sind frei wählbar, die Anzahl der Aktien.Die Größe der Y-Achse muss natürlich auch variable sein.Der User gibt also die Werte der Aktien pro Tag ein und das Diagramm soll sich automatisch erstellen.
Wie kann ich so was machen ? Ich möchte keinen Quellcode haben sondern viel mehr wie man so was am besten berechnen kann.
Ich glaube ich erkläre mal an einem Beispiel worum es mir bei der ganzen Sache geht.Ich habe eine Login Form und beim klicken auf ein Button werden die eingegeben Daten per Socket an ein Server gesendet, der wiederum die Daten kontrolliert. Während diesem Vorgang will ich ein Fenster anzeigen lassen mit einem Label und einer ProgessBar.Das Statusfenster soll in das Loginfenster ganz überdecken und die ProgessBar +Label soll mittig angezeigt werden.
Zitat
Aber es ist ja auch ganz leicht die Zentrierungsposition selbst auszurechnen.
Also Form2 wird in Form1 angezeigt nur eben nicht zentriert.Das sieht so aus:
Ob ich StartPosition im Konstruktor übergebe spielt keine Rolle.Das übergeordnete Fenster übergebe ich auch. Also entweder ich verstehe den Sinn von CenterParent falsch oder ich mache was falsch .