| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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");
}
}
} |
| | |
| | #2 (permalink) |
| Nagelneuer User 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 |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| events, socket |
| Themen-Optionen | |
| Ansicht | |
| |