Jag håller på att göra en applikation till en mobiltelefon som tar emot data för uppritning. Jag vill att data ska skickas i omgångar så att första "data-paketen" ska innehålla grov data som kan ritas upp under tiden som mer detaljerad data laddas ner. För att göra detta tänkte jag att applikationen skickar en förfrågan till servern, som sedan skickar data i omgångar genom callbacks. Min fråga är:
Hur kan man bära sig åt för att avbryta callbacks:en utan att behöva servern använder sessions eller tillstånd? Vill att varje förfråga till servern är oberoende av tidigare frågor. Finns det ngn smart lösning på detta?
Avbryta callbacks
9 svar · 299 visningar · startad av N-Foe
Ursäkta att jag låter så överdrivet präktig och vidrig, men... Lägg skiten i två trådar: en som väntar på data, en annan som ritar. När mottagaren får data läggs detta i en synkroniserad datastruktur av lämplig typ. Uppritaren väntar på att data för uppritning ska dyka upp, och ritar sedan för brinnande livet. Eller finns inte trådar i J2ME?
Chainsaw skrev:
... Eller finns inte trådar i J2ME?
J2ME??? Vad har Java med det här att göra? :q
Tja, du sa att du gjorde ett program för mobiltelefoner. J2ME är den enda vettiga miljön jag känner till, eftersom det är ett helvete att flytta mellan olika telefoner annars.
Motorsågen kanske var lite vilse :e
I övrigt är det väl så man bör göra oavsett språk och oavsett platform. Vet inte riktigt vad för protokoll N-Foe tänker sig, men någon form av "session" och tillståndslagring lär det ändå bli. Eller ska servern bara mata ut data osynkat? Verkar väldigt osäkert, inte minst med tanke på att det är mobiltelefoner inblandat. Bättre att göra ett ömsesidigt protokoll med timeouthantering.
Ah, svaret kom innan jag hann posta :e
Chainsaw skrev:
Tja, du sa att du gjorde ett program för mobiltelefoner. J2ME är den enda vettiga miljön jag känner till, eftersom det är ett helvete att flytta mellan olika telefoner annars.
Jo, fast det här är ju C++-forumet så då är den väl felplacerad då? :q
Ska implementera det med c++ i Symbian på mobiltelefonen...
inser att man måste lägga uppritningen och hämtningen i två seperata trådar.. Problemet blir när hämtningen ska avbrytas då användaren kräver helt ny data som ska ritas. Hur ska servern veta att den inte ska skicka mer data.. Ska man skicka en "ack" till servern när data ska skickas och implementera en time-out så att callbacksen avbryts en tid efter senaste "ack":en?
Finns det inget annat sätt?
Det är ju det vanliga sättet och förmodligen det enklaste om du inte vill att servern ska fortsätta sända utan att det tas emot. Vilket isf slösar bandbredd.... vad är problemet med en sådan "konventionell" metod?
nej, inget direkt problem. bara tänkte om det finns ngn som har erfarenhet inom området och kan ge tips.. eller nåt smart sätt?