Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-01-2009, 11:23   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2009
Beiträge: 1
Seltsames Problem beim verarbeiten von SocketData Events

Hallo zusammen (ich weiß der Threadtitel ist nicht besonders aussagekräftig, aber mir fällt nichts besseres ein)

Ich bin zwar neu in diesem Forum aber ich hoffe Ihr könnt mir trotzdem helfen. Es geht um Folgendes. Ich hab in C#.Net einen kleinen TCP Server geschrieben, der mir an meine Flash-Applikation (AS3) zu einer bestimmten Zeit Int Werte schickt. Diese Int werte sollen in meiner Flash Applikation einen Animation auslösen.
Jetzt hab ich nur folgendes Problem: Die Int Werte kommen zwar an (habe ich bereits überprüft), werden aber "teilweise" nicht weiterverarbeitet.
Das ist insofern seltsam da ich die Animation ebenfalls über Buttons bzw. Keyevents anstoßen kann und es hierbei zu keinen Problemen kommt. Da der ganze Code ein wenig zu viel wäre zu posten hier mal der Auschnitt an dem es eventuell liegen könnte. Im socketDatagHandler kommen die Int Werte auf jeden Fall noch richtig an (lass ich mir auf nem label anzeigen) werden dann aber "teilweise" (mal funktionieren 2 aus 5, mal 1 aus 5, mal 4 aus 5) nicht weiterverarbeitet. Soll heißen der Case Fall wird nicht erreicht. Wie bereits erwähnt, der gleiche Code funktioniert durchaus, wenn ich den clickHandler() über keyboardevents oder Mouseevents aufrufe.

Für irgendwelche ideen oder anregungen (bin auch gerne bereit es komplett anders zu machen) wäre ich sehr dankbar

Mooks

Code:
mySocket.connect("127.0.0.1", 9050);
			mySocket.addEventListener(Event.CONNECT, connected);
			mySocket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			mySocket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);

////////

private function socketDataHandler(event:ProgressEvent){
			var str:String = mySocket.readUTFBytes(mySocket.bytesAvailable);
			//trace("Response: " + str);
			incom += str;
			Incomming.label1.text = incom;
			var keyPushed:int = parseInt(str);
			switch (keyPushed) {
					case 1 :
					{
						clickHandler(1);
						break;
					}
					case 2 :
					{
						clickHandler(2);
						break;
					}
					case 3 :
					{
						clickHandler(3);
						break;
					}
					case 4 :
					{
						clickHandler(4);
						break;
					}
					case 5 :
					{
						clickHandler(5);
						break;
					}
					case 6 :
					{
						clickHandler(6);
						break;
					}
					case 7 :
					{
						clickHandler(7);
						break;
					}
					case 8 :
					{
						clickHandler(8);
						break;
					}
					case 9 :
					{
						clickHandler(9);
						break;
					}
					case 0 :
					{
						clickHandler(0);
						break;
					}
					default:
					{
						trace("fehler");
					}
			}
			}
mooks ist offline   Mit Zitat antworten
Alt 26-01-2009, 19:28   #2 (permalink)
Nagelneuer User
 
Benutzerbild von hazy fantazy
 
Registriert seit: Dec 2005
Beiträge: 924
Vielleicht kommen die Events zu schnell rein?
Du könntest versuchen die reinkommenden Daten von der Animation zeitlich zu entkoppeln, indem du die Daten erst in einen Puffer schreibst und dann regelmäßig nachschaust, ob wieder etwas neues im Puffer angekommen ist.
__________________
The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D
hazy fantazy ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
events, socket

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele