Laden...

Forenbeiträge von bl4ckY Ingesamt 193 Beiträge

25.03.2010 - 15:02 Uhr

Gut Problem gelöst. Habe beim zweiten Versuch zu Verbinden eine neue Instanz erstellt und die hatte den Event nicht abboniert. Manchmal sieht man den Wald vor lauter Bäumen nicht.

25.03.2010 - 08:20 Uhr

Ja bin schon weiter. Problem ist nicht die Messagebox sondern ein Event der nicht mehr Triggern will. Er schmeisst eine NullReference Exception.

       
public void OnException(Exception exception)
{
    OnConnectionException(exception);
}

Hier sollte der Event Triggern. Beim ersten mal macht er das auch ohne Probleme. Beim zweiten mal aber nicht 😦

24.03.2010 - 15:21 Uhr

Ja das kann sein und so war es eigentlich auch erhofft, so dass man jedes mal wieder gefragt wird wenn es fehlgeschlagen ist.

24.03.2010 - 14:50 Uhr
public void OnConnectionException()
        {
                
            DialogResult myResult = MessageBox.Show("Verbindung wurde unterbrochen. Wollen Sie versuchen die Verbindung neu aufzubauen?", "Verbindungsabbruch", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
            if (myResult == DialogResult.Retry)
            {
                TopicSubscriber topicSubscriber = new TopicSubscriber(Environment.UserName.ToLower(), Properties.Settings.Default.ServerURI + "?wireFormat.maxInactivityDuration=0", Environment.UserName.ToLower(), "");
            }
            else if (myResult == DialogResult.Abort)
                this.Close();
        }

So sieht das ganze aus.

Aber ich war glaube zu schnell. Es scheint nicht an der MEssageBox sondern an meiner Klasse zu liegen. Werde mal forschen gehen.

24.03.2010 - 14:12 Uhr

Hallo,

kurze Frage: Ich habe eine Messagebox mit AbortRetryIgnore. Damit Überprüfe ich meine Netzwerkverbindung. Wenn die abbricht soll er versuchen diese wieder neu herzustellen (wenn mal der Server abschmiert). Nun habe ich das Problem das er nicht mehr aufhört mit dem Retry.

Gibts da irgendwie einen Zähler den man setzen kann oder irgendetwas ähnliches?

danke im Vorraus

19.03.2010 - 12:15 Uhr

Du hast in Excel die Möglichkeit Markos aufzuzeichnen.

Das ist ein mähctiges Tool, besonders für Leute die nur sehr selten Makros schreiben.
Ich habe gerade eine kleine Aufzeichnung nach deinen Vorgaben gemacht und das ist dabei raus gekommen:

    Range("A1:D12").Select
    Selection.Copy
    Range("G7").Select
    ActiveSheet.Paste

btw das ist VBA Code, zeigt aber einen möglichen Ansatz und funktioniert natürlich nur wenn du es mit Makros realisierst.

09.03.2010 - 16:28 Uhr

Glaube du hast mich falsch verstanden b.z.w ich habe mich unverständlich ausgedrückt.

Das Programm funktioniert ohne weiteres. Probleme treten erst bei Tiff mit JPG Kompression auf. .Net hat anscheiend keinen Codec dafür (Windows Bild & Faxanzeige kann es z.B auch nicht).


FileStream myFileStream = new FileStream(filePath,FileMode.Open, FileAccess.Read);
image = Image.FromStream(myFileStream, true);

Am Image.FromStream scheitert es schon da es kein bekanntes Format ist folglich kann er aus dem Stream kein Image erstellen. Ich such nun einen Weg irgendwie eine Kompatibilität herzustellen. Ich bin mir ziemlich sicher das, dass FW dazu nicht in der Lage ist.

09.03.2010 - 15:45 Uhr

Hallo,

ich suche eine Möglichkeit Tiff Bilder(MultiPage) mit Jpeg Kompression anzeigen zu können.

Versuche mich derzeit mit der LibTiff.Net Library von BitMiracle. Allerdings habe ich damit noch meine Problemchen da die Dokumentation nicht sonderlich gut ist (zumindest hilft sie mir nicht sonderlich).


public void loadImage(String filePath)
{
              //FileStream myFileStream = new FileStream(filePath,FileMode.Open, FileAccess.Read);
                //image = Image.FromStream(myFileStream, true);
                BitMiracle.LibTiff.Classic.Tiff myImg = BitMiracle.LibTiff.Classic.Tiff.Open(filePath, "r");
                MemoryStream myStream = (MemoryStream)myImg.;
                image = Image.FromStream(myStream);
                string[] FileInfo = filePath.Split('\\');
                fileName = FileInfo[FileInfo.Length - 1].Replace(".TIF", "");
            //myFileStream.Flush();
}

Das ist meine derzeitige Funktion. Der auskommentierte Teil soll ersetzt werden. Finde jedoch keine Möglichkeit das eingelesene Bild irgendwie wieder in einem verwertbares Format zu bekommen. Hab eigentlich erwartet ich kann einfach einen Stream returnen aber dem ist leider nicht so. Hat da irgendjemand Erfahrungen oder kann mir helfen?

Danke im Vorraus

Grüße bl4ckY

09.03.2010 - 13:07 Uhr

Die Faq habe ich schon durch gesehen aber leider nichts wirksames gefunden 😦

Übr Ableitungen habe ich es heute auch schon versucht und doublebuffered auf true gsetzt. Leider auch keine Besserung 😦

09.03.2010 - 08:13 Uhr

Niemand eine Idee?

04.03.2010 - 14:00 Uhr

Ich hab die PictureBox in ein Panel gezogen und da das Autoscroll auf true gesetzt.

04.03.2010 - 13:51 Uhr

Meines Wissen besitzt die PictureBox so eine Eigenschaft nicht mehr. SetStyle geht auch nicht.

04.03.2010 - 13:11 Uhr

Hallo,

habe eine Kleinigkeit gebaut um mit der Maus Scrollen zu können.

Nun habe ich das Problem das es beim Scrollen wie wild flackert.

 private void pictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                offsetX = e.X - prevScrollPoint.X;
                offsetY = e.Y - prevScrollPoint.Y;
                pointX = -(panel10.AutoScrollPosition.X);
                pointY = -(panel10.AutoScrollPosition.Y);
                pointX += -offsetX;
                pointY += -offsetY;
                panel10.AutoScrollPosition = new Point(pointX, pointY);
                prevScrollPoint = e.Location;
            }
            else
            {
                this.Cursor = Cursors.Default;
            }
        }

        private void pictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.Cursor = Cursors.Hand;
                prevScrollPoint = e.Location;
            }
            else
            {
                this.Cursor = Cursors.Default;
            }
        }

        private void pictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.Cursor = Cursors.Hand;
                panel10.AutoScrollPosition = new Point(pointX, pointY);
            }
            else
            {
                this.Cursor = Cursors.Default;
            }
        }

Einer eine Idee das zu unterbinden?

*In HowTo und anderen Tutorials schon nachgesehen - Kein Erfolg!*

03.03.2010 - 18:24 Uhr

Kann dir zwar zu deinem Problem nicht helfen aber versuch es mal mit Fences. Hat den Vorteil das du dir die Sachen auch noch gleich Gruppieren kannst. Einziger mir bekannter Nachteil: Das man es installieren muss und Windows sowas nicht von vorne herein anbietet.

17.02.2010 - 08:06 Uhr

Ok Danke euch. Werde mal sehen wie ich das löse 😃

16.02.2010 - 16:45 Uhr

Würde gerne auf weitere externe Libs verzichten. Vielleicht hat ja noch jemand eine andere Idee.

Aber dir schon mal Danke für die Mühen 😃

16.02.2010 - 16:07 Uhr

Hallo,

ich sitze gerade an einem Problem das unlösbar scheint.

Ich versuche ein Multitiff Bild einzulesen. Das funktioniert auch einwandfrei. Wenn ich nach dem einlesen schaue wieviel Pages in diesem Bild sind sagt er auch die richtige Anzahl. Speicher ich das Bild danach wieder weg in eine identische Datei ist es nur noch eine Seite.

Gibt es da irgendeine bekannte Lösung wie man diesen Fehler beheben kann?

Grüße

10.02.2010 - 09:54 Uhr

das hört sich gut an leider habe ich keine Ahnung wie ich das anstelle 😦

10.02.2010 - 09:40 Uhr

Edit:

public void consumer_Listener(IMessage message)
        {
            // Nachricht abholen
            ITextMessage textMessage = (ITextMessage)message;

            // Nachricht in Objekt umwandeln
            MyTransferObject transferObject = Helper.getTransferobjectFromString(textMessage.Text);
            if (transferObject != null)
            {
                MyClient MC = new MyClient();
                MC.tabControl1.TabPages.Add("test");
            }
        }

Das ist in der eigentlichen Form. Der Consumer ist etwas vom Spring.net Framework bz.w notwendig für NMS. Befindet sich im ActiveMQ.NMS(.Apache) Assembly.

10.02.2010 - 08:44 Uhr

Einen Sender habe ich leider nicht zur Verfügung da ich das Event nicht verändern kann.
Nun versuch ich den Umweg über die Properties.

Neues Problem es sollte nur etwas passieren wenn das Property verändert wird.

Kann man da auf OnChange (o.ä) abfragen b.z.w gibt es Events für Objekten?

09.02.2010 - 16:25 Uhr

Ja das dachte ich auch aber es funktioniert nicht 😦 Deswegen ja überhaupt erst die dumme Frage.

09.02.2010 - 16:16 Uhr

Meinst du ich soll ein neues Event erstellen das abonniert/feuert?

Würde leider an dem Sachverhalt nichts ändern. Derzeit steh ich wirklich auf dem Schlauch 😕

09.02.2010 - 15:45 Uhr

Ich komme aber nur über eine neue Instanz an die Controls 😕

09.02.2010 - 15:39 Uhr

Hallo,

habe ein Event das bei einer neuen Netzwerknachricht triggert und vorerst eigentlich nur ein neues Tab in der Tabcontrol erstellen soll. Leider wird keine neue Tabpage erstellt.

Ich habe die Vermutung das Events nicht auf die Form zugreifen dürfen finde leider nur schwammige "Lösungen" in anderen Foren.

public void consumer_Listener(IMessage message)
        {
            // Nachricht abholen
            ITextMessage textMessage = (ITextMessage)message;

            // Nachricht in Objekt umwandeln
            MyTransferObject transferObject = Helper.getTransferobjectFromString(textMessage.Text);
            if (transferObject != null)
            {
                MyClient MC = new MyClient();
                MC.tabControl1.TabPages.Add("test");
            }
        }

Leider wirft er keine Exception 😦

Hat jemand eine Lösung oder kann mir sagen was ich falsch mache?

Grüße

03.02.2010 - 16:08 Uhr

Problem hat sich soeben erledigt.

Hier mein Lösungsansatz:

using (IConnection connection = connectionFactory.CreateConnection())
                        {
                            using (ISession session = connection.CreateSession())
                            {
                                /* Daten an MQ Senden */
                                ImgObj ImageObject = new ImgObj(Image.FromFile(Datei,String));
                                IObjectMessage m = session.CreateObjectMessage(ImageObject);
                                IMessageProducer producer = session.CreateProducer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("TopicName"));
                                producer.Send(m);
                                producer.Dispose();
                            }
                        }
03.02.2010 - 09:05 Uhr

Hallo,

Ich versuche mich in ActiveMQ und Spring.Net einzuarbeiten habe allerdings ein Problem das mich nun schon einige Tage beschäftigt.

Ich will z.B ein Objekt erstellen mit verschiedenen Datentypen. Problem ist das ich nicht weiß wie ich dieses nun and den MQ sende und dieser jenes auch akzeptiert.

Hat vielleicht irgendeiner bisher Erfahrungen mit dem Spring Framework gesammelt und weiß einige gute Dokumentationen o.ä ?

Wäre demjenigen wirklich sehr Dankbar.

Grüße

14.01.2010 - 08:20 Uhr

Die Übertragung funktioniert ja. Allerdings nur wenn das Programm zwischen dem Senden des Steuerstrings und den eigentlichen Daten eine Pause macht (Thread.Sleep). Ich will rausfinden warum und wie ich diese Verzögerung beseitige.

13.01.2010 - 15:08 Uhr

Das hatte ich zu Beginn wurde aber recht schnell davon überzeugt, dass das byteweise übertragen deutlich sinnvoller ist einfach weil man sich das Decoden/Entcoden spart und es eine potentielle Fehlerquelle ist.

13.01.2010 - 14:50 Uhr

Ja das ist klar. Frage ist wo bleiben dann die Daten vom Bild? Ich übertrage ja nicht den Bildpfad und der Client greift auf das Bild zu sondern ich übertrage mit der Schleife die Daten des Bildes (tif Format) byteweise.

Das ganze geschiet in der Sendefunktion. Vielleicht ist

"FILE" + fileLength + "+" + Path

etwas schlecht gewählt. Ersetz Path einfach durch Name.

Denn dieser teil dient lediglich dazu das ich weiss wie das Bild heisst.

07.01.2010 - 11:38 Uhr

keiner sonst eine Idee?

hier nochmal der derzeitige Code

Server

fileLength = Convert.ToString(fileInfo.Length);
Boolean result;
sw.WriteLine("FILE" + fileLength + "+" + Path);
sw.Flush();
sw.Close();
Thread.Sleep(500);
result = Networking.sendFileOverNetworkStream(fileInfo.Length, stream, Path);

Sendefunktion

NetworkStream stream = new NetworkStream(socket);
            long readedByts = 0;
            int readedLength = 0;
            byte[] buffed = new byte[1024];
            try
            {
                FileStream fileStreamIn = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
                while (readedByts < fileLenght)
                {
                    readedLength = fileStreamIn.Read(buffed, 0, buffed.Length);
                    stream.Write(buffed, 0, readedLength);
                    readedByts += readedLength;

                }
                fileStreamIn.Flush();
                fileStreamIn.Close();
                return true;
            }

Client


if (Stream.DataAvailable)
                {
                    StreamReader sr = new StreamReader(Connection.GetStream());
                    message = sr.ReadLine();
                    if (message.Contains("FILE"))
                    {
                        String IncomingInfo = message.Replace("FILE", "");
                        string[] fileLenghts = IncomingInfo.Split('+');
                        string fileLengthInfo = fileLenghts[0].Substring(0, fileLenghts[0].Length);
                        int fileLength = (int)Convert.ToInt64(fileLengthInfo);
                        MemoryStream memoryStream = new MemoryStream((int)fileLength);
                        long fileLengthCounter = 0;    
                        string[] inpt = fileLenghts[1].Split('\\');
                        int StringArrCnt = inpt.Length;  
                        string[] dummyFileName = inpt[StringArrCnt - 1].Split('.');
                        while (fileLengthCounter < fileLength)
                        {
                            byte b = (byte)Stream.ReadByte();
                            memoryStream.WriteByte(b);
                            fileLengthCounter++;
                            
                        }
                        FileName = dummyFileName[0];
                        return memoryStream;
                    }
06.01.2010 - 12:12 Uhr

Das ganze als Tray wäre auch sehr nett und dann wie schon gesagt mit mehreren Suchmöglichkeiten (sehr wichtig wiki und google).

Zusätzlich wäre auch ein kleines Vorschaufenster sehr schön bevor der Browser sich öffnet.

04.01.2010 - 08:56 Uhr

Also nach meiner momentanen Denken löst das nicht mein Problem. Selbst wenn ich die Nachrichtenlänge lese und weiss wieviele Daten kommen (das mache ich ja bisher) könnte es sein das immer noch Daten zu viel eingelesen werden oder aber noch Daten im Stream hängen die er nachträglich einliest.

15.12.2009 - 15:36 Uhr

Das Flush nicht beim networkStream geht steht im msdn.

_Die Flush-Methode implementiert die Stream.Flush-Methode, wirkt sich jedoch nicht auf Netzwerkstreams aus, da der NetworkStream nicht gepuffert ist. Durch Aufrufen der Flush-Methode wird keine Ausnahme ausgelöst. _

while (readedByts < fileLenght)
{
readedLength = fileStreamIn.Read(buffed, 0, buffed.Length);
stream.Write(buffed, 0, readedLength);
readedByts += readedLength;
}

Um es sich vielleicht besser vorzustellen schilder ich kurz wann der Fehler auftritt:

Ich versuche mehrere Bilder in kurzer Zeit hintereinander zu schicken. Dabei werden pro Bild einmal die Statusnachricht generiert (File+Größe+Name) direkt danach werden die Bildinformationen übermittelt.

Bin nun schon eine Ecke weiter und weiss warum die Daten im Stream hängen bleiben. Problem ist nur das ich nicht weiss wie ich es lösen soll.

Irgendwann wird eine FormatException ausgelöst. Deswegen bleiben wohl auch die Daten im Stream weil sie nicht weiter abgerufen werden.

Leider ist das Debuggen unmöglich da ich nicht 50000 mal auf F11 drücken will.
Achja bevor einer sagt mach Try & Catch raus - Schon versucht aber dann ignoriert er den Fehler vollkommen.

15.12.2009 - 12:58 Uhr

Das Problem scheint ja nicht zu sein das er nach dem eigentlich eintreffen der Nachricht weiter einliest sondern, dass der Stream nicht leer ist wenn er wieder versucht einzulesen. B.z.w das meine Schleife nicht alle Daten aus dem Stream holt oder Restdaten im Stream hängen bleiben.

15.12.2009 - 10:20 Uhr

Scheint wohl derzeit keine andere Möglichkeit zu geben als den Thread kurz schlafen zu legen. Wobei 500ms wirklich ein Wort ist 😕

Vielleicht hatte einer ja schonmal das gleiche Problem und weiss eine Lösung ansonsten muss ich mich wohl damit zufrieden geben.

15.12.2009 - 09:33 Uhr

Problem besteht weiterhin 😦

Scheint fast so als ob noch Daten im Stream hängen und er diese ausliest. Obwohl ich diesen leere. Bin echt am verzweifeln 😕

Edit: Sehe gerade das man den Networkstream nicht Flushen kann. Also hängen wohl wirklich noch Daten im Stream. Wie bekomme ich die da weg? 😃

15.12.2009 - 09:09 Uhr

Achso. Jetzt hab ich es erst verstanden. Ich habe mich so auf die Schleife konzentriert das ich garnicht realisiert habe das ich ja die andere Seite auch ganz easy modifizieren kann.

Super Dank dir.

15.12.2009 - 08:44 Uhr

Eine andere Möglichkeit gibt es nicht? Bei der Send Methode gibt es eine Möglichkeit eine Länge anzugeben leider ohne gewünschten Erfolg - Ich hatte die Hoffnung das sich Receive daran orientiert und nicht weiter empfängt aber Pustekuchen.

Meine derzeitigen Routinen sehen folgendermaßen aus:

Client


int length = Connection.Client.Receive(daten);
String message = Encoding.ASCII.GetString(daten, 0, length);

while (fileLengthCounter < fileLength)
{
    byte b = (byte)Stream.ReadByte();
    fileLengthCounter++;
    memoryStream.WriteByte(b);
}

Server

stream.Send(Encoding.ASCII.GetBytes("FILE" + fileLength + "+" + Path),Convert.ToInt32(5+fileLength.Length+Path.Length),SocketFlags.None);

FileStream fileStreamIn = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
while (readedByts < fileLenght)
{
   readedLength = fileStreamIn.Read(buffed, 0, buffed.Length);
   stream.Write(buffed, 0, readedLength);
   readedByts += readedLength;
}

Würde ungern an dem bisherigen rum basteln da alle weiteren Bugs die aufgetaucht sind nun endlich verschwunden sind 😉

15.12.2009 - 08:38 Uhr

Das Gif stellt quasi meine Verbindung zum Server dar. Mit einem Klick auf die PictureBox kann ich die Verbindung aufnehmen & trennen. Beide Zustände werden mit einem anderen Gif dargestellt wobei das Bild bei aufgebauter Verbindung dynamisch ist und sich bewegt. Wenn ich die Verbindung nun staendig auf- und abbaue macht das Gif irgendwann blödsinn.

10.12.2009 - 15:17 Uhr

Hallo,

habe eine Client/Server Anwedung gebaut. Um den Client mit dem Server zu synchronisieren schicke ich vor den eiegentlichen Daten erstmal eine Art Ankündigungsmessage. Diese ist folgendermaßen aufgebaut: "File"+Dateigröße+Dateiname. Danach Streame ich die Daten der Datei über das Netzwerk und baue diese auf der Clientseite wieder zusammen. Funktioniert eigentlich super.

Allerdings gibt es ab und an ein Problem das ich einfach nicht lösen kann.

Und zwar empfängt der Client die Ankündigsmessage über Client.Receive die eigentlichen Bilddaten werden Byteweise gelesen. Ab und an kommt es allerdings vor das Client.Receive nicht weiss wann Schluss ist und einige gestreamten Bytes mit liest obwohl ich den Server extra nach dem senden des Strings kurz lahm lege.

Nun versuch ich schon 1nen Tag herum finde aber keine Möglichkeit Receive mit zu teilen das Schluss ist, da man es ja nicht anhalten kann. Meine Überlegung war ob es irgendein Steuerzeichen gibt das ich mit schicken kann und Receive abbricht b.z.w ob es eine Möglichkeit gibt den Stream vorher zu clearen mit der Hoffnung das es dann aufhört.

Hoffe hier hat jemand irgendeine gute Idee. Habe eigentlich keine Lust das nochmal umzubauen.

08.12.2009 - 16:18 Uhr

Muss den Thread doch nochmal wiederbeleben. Problem 1 ist doch noch vorhanden. Zwar hat sich die Häufigkeit der Darstellungsfehler stark minimiert. Aber mit viel gutem Willen und etwas Eifer schaffe ich es die Darstellung kaputt zu bekommen.

Problem kann ja eigentlich nur sein das er die Form b.z.w die Picturebox nicht neu zeichnet. Einer eine Idee wie ich das anstelle? Refresh() bringt leider nicht den gewünschten Erfolg 😕

03.12.2009 - 13:04 Uhr

Probleme haben sich so eben beseitigt.

Durch die Ergänzung des Bilds und einigen kleineren Funktionen hat sich ein Fehler im Code eingeschlichen den ich eben durch Zufall entdeckt habe (Manchmal hat man Glück).

Beide Probleme sind somit beseitigt. Danke für die Hilfe und Entschuldigung für den jetzt nutzlosen thread ;/

03.12.2009 - 11:36 Uhr

Hallo,

Ich benutze ein Gif um darzustellen ob ein Client mit dem Server verbunden ist. Dabei treten 2 setlsame Fehler auf:

  1. Das Gif ist ab und an Fleckig. Scheint so als würde der Transparente Bereich ab und an nicht erkannt.

  2. Ich habe eine Listview in der Bilder angezigt werden. Wenn das Gif an ist (sich bewegt) sind die Bilder weg. Mache ich ein andere Gif rein was sich nicht bewegt sondern starr ist sind die Sachen wieder in der Liste.

Kann ich das Gif irgendwie unabhängig von der Form rendern lassen. So das es quasi über der Form liegt?

Ein Bildbeispiel ist im Ahang. Die orangen Streifen sind ungewollt. Wäre natürlich schön wenn man das irgendwie weg bekommen könnte.

Grüße

02.12.2009 - 12:44 Uhr

Wenn es keine andere Möglichkeit gibt werde ich wohl einen Timer nehmen. Ich hatte mir nur gedacht das es sicher irgendetwas geben muss das die Systemzeit kontrolliert (quasi ein Event). Und damit dabei der Lernerffekt vorhanden ist wollte ich eben mal etwas neues in Erfahrung bringen 😉

02.12.2009 - 12:40 Uhr

Eine Liste von den angemeldeten habe ich aber wie soll ich (ohne das am Server etwas geschiet) die Prüfroutine starten?

Es soll im Prinzip wie eine "Reinigungskraft" 😃 arbeiten also Firma betreten sauber machen und wieder gehen.

02.12.2009 - 12:30 Uhr

Hallo,

brauche mal einen Denkanstoss. Brauchte so etwas zuvor leider noch nie.

Ich habe einen Server programmiert der für gewisse Clients Daten bereit hält. Nun würde ich gerne prüfen ob die Clients sich die letzten 6h (Beispiel) angemeldet haben ansonsten soll er die Daten verwerfen.

Wie baue ich ein Event (o.ä) das zeitgesteuert reagiert b.z.w startet? Ich will ungern einen Timer oder so ständig laufen haben. Am besten wäre etwas das sich startet. Die Systemzeit nachschaut einen knappen vergleich macht und dann die Daten verwirft oder eben wieder inaktiv geht.

Ist sowas überhaupt möglich?

01.12.2009 - 15:00 Uhr

Denke habe den Fehler gefunden. Ich lese den Stream mit Stream.read aus. Kann es sein das die Daten sich quasi darin stauen b.z.w der Sender schon versucht zu schreiben obwohl der Stream noch belegt ist?

und wie kann ich das verhindern?

01.12.2009 - 14:51 Uhr

Gut dann mal sehen. Im Endeffekt kann es ja eigentlich nur daran liegen das nicht schnell genug in die JobQueue geschrieben wird.

Problem könnte sein das ich für jede eintreffende Anfrage einen Thread erstelle. Du hattest in einem anderem Thread erwähnt das es da einen gewisse Grenze gibt. Ich probiere mal ob ich das anders regeln kann.

01.12.2009 - 14:40 Uhr

Habe es so gemacht wie du sagtest. Allerdings besteht das Problem weiterhin. Wenn ich alle 1/2 Sekunde eine Anfrage zum Server jage ist ihm das anscheiend zu viel.

Kann es sein das der TCP Listener einfach nicht schneller ist?

26.11.2009 - 16:13 Uhr

Werde es erstmal mit einem versuchen. Danke für die Hilfe.