Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > Non-English Discussions > Deutsches Forum > PocketBook

Notices

Reply
 
Thread Tools Search this Thread
Old 04-19-2010, 11:17 AM   #1
reader42
Zealot
reader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it is
 
Posts: 117
Karma: 2097
Join Date: Feb 2010
Device: none
PocketBook Development: Netzwerk

Hallo,

hat schon jemand irgendwelche Netzwerk Dinge programmiert?
Mit
Code:
DownloadTo(net_session, url, 0, filename, -1);
kann ich eine Datei runterladen, das funktioniert auch soweit. Mit
Code:
GetSessionInfo(net_session);
kann ich auch den aktuellen Status abfragen. Dazu muss ich aber immer pollen.

Jetzt suche ich nach einer Möglichkeit benachrichtigt zu werden, wenn die Datei fertig runtergeladen ist, damit ich das Programm nicht so lange blockiere. Aber zumindest der MainHandler liefert kein Event.
Ich habe auch keine Möglichkeit gefunden eine callback-Funktion anzugeben oder so.
Irgendwelche Ideen?
reader42 is offline   Reply With Quote
Old 04-19-2010, 12:20 PM   #2
wallnuss
Connoisseur
wallnuss doesn't litterwallnuss doesn't litter
 
wallnuss's Avatar
 
Posts: 54
Karma: 120
Join Date: Mar 2010
Location: Nürnberg
Device: Pocketbook 302
Quote:
Originally Posted by reader42 View Post
Hallo,

hat schon jemand irgendwelche Netzwerk Dinge programmiert?
Mit
Code:
DownloadTo(net_session, url, 0, filename, -1);
kann ich eine Datei runterladen, das funktioniert auch soweit. Mit
Code:
GetSessionInfo(net_session);
kann ich auch den aktuellen Status abfragen. Dazu muss ich aber immer pollen.

Jetzt suche ich nach einer Möglichkeit benachrichtigt zu werden, wenn die Datei fertig runtergeladen ist, damit ich das Programm nicht so lange blockiere. Aber zumindest der MainHandler liefert kein Event.
Ich habe auch keine Möglichkeit gefunden eine callback-Funktion anzugeben oder so.
Irgendwelche Ideen?
Aus welcher Bibliothek ist Dowloadto ? Hat downloadto nicht irgendeinen Rückgabe wert wie -1 Download failed 1 download succed ?. Du musst dir halt anschauen wie Downloadto funktioniert
wallnuss is offline   Reply With Quote
Advert
Old 04-20-2010, 01:47 PM   #3
reader42
Zealot
reader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it is
 
Posts: 117
Karma: 2097
Join Date: Feb 2010
Device: none
Quote:
Originally Posted by wallnuss View Post
Aus welcher Bibliothek ist Dowloadto ? Hat downloadto nicht irgendeinen Rückgabe wert wie -1 Download failed 1 download succed ?. Du musst dir halt anschauen wie Downloadto funktioniert
DownloadTo ist aus inkview. Die Funktion startet aber nur den Download. Heruntergeladen wird dann wohl in einem anderen Thread. Ich könnte jetzt einen Timer setzten und immer mal wieder nachschauen, ob die Datei fertig ist, aber das ist ja nicht so toll. Deshalb meine Frage, ob sich jemand damit auskennt und eine bessere Idee hat.
reader42 is offline   Reply With Quote
Old 04-20-2010, 05:26 PM   #4
wallnuss
Connoisseur
wallnuss doesn't litterwallnuss doesn't litter
 
wallnuss's Avatar
 
Posts: 54
Karma: 120
Join Date: Mar 2010
Location: Nürnberg
Device: Pocketbook 302
Hm da war ich gestern wohl blind als ich sie in inkview.h gesucht habe , sry ;-).
Könntest du mir auf irgendeinen Weg eine funktionierendes Code Beispiel zukommen lassen (ICQ/MSN/Skype/PM/e-mail) meine test programme zickt noch rum.
Ansonsten würde ich die frage mal auf the-ebook.org im Pocketbook Free Forum stellen, die Seite ist russisch aber sie sprechen auch english
wallnuss is offline   Reply With Quote
Old 04-21-2010, 11:59 AM   #5
reader42
Zealot
reader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it is
 
Posts: 117
Karma: 2097
Join Date: Feb 2010
Device: none
Kann leider hier gerade nichts testen, aber ungefähr so sollte es gehen:
Code:
#include <unistd.h>
#include <inkview.h>

int main(int argc, char **argv) {
  char filename[FILENAME_MAX] = "/mnt/ext1/test.html";
  char url[FILENAME_MAX] = "http://hostname.com/test.html";
  int net_session = NewSession();
  DownloadTo(net_session, url, 0, filename, -1);
  iv_sessioninfo * session_info = GetSessionInfo(net_session);
  while (session_info->progress < session_info->length)
  {
    sleep(1);
    session_info = GetSessionInfo(net_session);
  }
  return 0;
}

Last edited by reader42; 04-21-2010 at 03:47 PM.
reader42 is offline   Reply With Quote
Advert
Old 04-21-2010, 03:08 PM   #6
wallnuss
Connoisseur
wallnuss doesn't litterwallnuss doesn't litter
 
wallnuss's Avatar
 
Posts: 54
Karma: 120
Join Date: Mar 2010
Location: Nürnberg
Device: Pocketbook 302
Merke grade das mein WLAN nicht funktioniert dh. ich muss meine Tests noch ein bisschen Verschieben. Was ich denke was interessant seien dürfte wäre der Rückgabewert von DownloadTo und vor allem was er aussagt.
wallnuss is offline   Reply With Quote
Old 04-21-2010, 04:40 PM   #7
reader42
Zealot
reader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it isreader42 knows what time it is
 
Posts: 117
Karma: 2097
Join Date: Feb 2010
Device: none
So jetzt gibt es auch ein funktionierendes Beispiel. Ich habe festgestellt, dass man DownloadTo() nicht vor InkViewMain() aufrufen darf. (Das scheint übrigens bei allen Funktionen aus inkview.h der Fall zu sein.)

Code:
#include <inkview.h>
#include <stdio.h>
#include <unistd.h>


FILE * LogFile;

int main_handler(int type, int par1, int par2)
{
  int i, dl;
  iv_sessioninfo * session_info;
  char filename[FILENAME_MAX] = "/mnt/ext1/games/test.png";
  char url[FILENAME_MAX] = "http://b.tile.openstreetmap.org/16/34652/22545.png";

  switch (type) {
    case EVT_INIT:
      int net_session = NewSession();
      dl = DownloadTo(net_session, url, 0, filename, -1);
      fprintf(LogFile, "DownloadTo: %d\n", dl);
      for (i=0; i<15; i++)
      {
        dl = GetSessionStatus(net_session);
        session_info = GetSessionInfo(net_session);
        fprintf(LogFile, "session status: %d\nURL: %s\nctype: %s\nresponse: %d length: %d, progress: %d\n", dl, session_info->url, session_info->ctype, session_info->response, session_info->length, session_info->progress );
        usleep(10000);
      }
      CloseApp();
      break;
  }
}
      

int main(int argc, char **argv) {
  LogFile = fopen("/mnt/ext1/games/dl.log", "w");
  
  InkViewMain(main_handler);
  
  fclose(LogFile);
  return 0;
}
Bisheriges Fazit:
Existiert die Datei, geht der SessionStatus von NET_OK über NET_CONNECT und NET_TRANSFER zurück nach NET_OK und session_info->response liefert 200

Existiert die Datei nicht aber der Server schon: Selbes Spiel, aber session_info->response liefert 404 wie ein Webbrowser halt auch.

Existiert der Server nicht, dann geht SessionStatus von NET_OK über NET_CONNECT nach NET_ERESOLVE

DownloadTo() liefert aber in allen Fällen 0.
Selbst wenn ich zwei Download schnell hinter einander starte liefert DownloadTo() 0. Dann wird aber SessionStatus einmal NET_ABORTED.
reader42 is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
New prices for PocketBook 301 and PocketBook 360 Yar-PocketBooker PocketBook 11 10-13-2010 12:22 AM
Pocketbook development wiki Logseman PocketBook 0 09-26-2010 04:53 PM
Wiki for Pocketbook Free/Development wallnuss PocketBook 18 05-29-2010 08:03 AM
Pocketbook 301 und Pocketbook 360° im Test, Teil 1 Forkosigan PocketBook 11 02-11-2010 03:54 AM
Pocketbook und Netronix Inc. fusionieren zu PocketBook Global Forkosigan Deutsches Forum 0 01-08-2010 01:13 PM


All times are GMT -4. The time now is 08:37 AM.


MobileRead.com is a privately owned, operated and funded community.