webForumDet fria alternativet

Avbryta callbacks

C/C++

9 svar · 301 visningar · startad av N-Foe

Medlem sedan juni 200384 inlägg
Frågan#1

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?

Medlem sedan sep. 20001 124 inlägg
#2

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?

Medlem sedan mars 20034 471 inlägg
#3

Chainsaw skrev:

... Eller finns inte trådar i J2ME?

J2ME??? Vad har Java med det här att göra? :q

Medlem sedan sep. 20001 124 inlägg
#4

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.

Medlem sedan juni 200010 432 inlägg
#5

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.

Medlem sedan juni 200010 432 inlägg
#6

Ah, svaret kom innan jag hann posta :e

Medlem sedan mars 20034 471 inlägg
#7

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

Medlem sedan juni 200384 inlägg
#8

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?

Medlem sedan juni 200010 432 inlägg
#9

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?

Medlem sedan juni 200384 inlägg
#10

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?

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)