2017-08-09 2 views
1

Wenn das Netzwerk ausgeschaltet ist (z. B. kann es nicht die Youtube-Seite besuchen) und starten Sie Cobalt mit --preload Param wenn die Plattform eingeschaltet ist, dann kann es nicht laden und Youtube Ui, sogar Wenn es vom Vorladestatus in den Ausgangszustand wechselt, kann die URL nicht erneut geladen werden und kann keine UI anzeigen. In diesem Fall kann Cobalt sie also verarbeiten.Preload-Funktion mit Netzwerk aus

//Even the network is on, it can not reload the YT url from SbSystemRaisePlatformError, tsa03s02-in-f142.1e100.net is the hostname of www.youtube.com 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=51 ttl=52 time=49.1 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=52 ttl=52 time=48.3 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=53 ttl=52 time=66.7 ms 
[cobalt]>[11604:2581014753:INFO:h5vcc_url_handler.cc(119)] try to reload url, url= https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 
[cobalt]>[11604:2581014916:INFO:system_raise_platform_error.cc(49)] SbSystemRaisePlatformError: Connection error. 
[cobalt]>[0810/114518:WARNING:system_window.cc(200)] Failed to notify user of error: 0 
[cobalt]>[12263:2581046785:WARNING:thread_set_name.cc(36)] Thread name "SplashScreenWebModule" was truncated to "SplashScreenWeb" 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=54 ttl=52 time=48.6 ms 
[cobalt]>[0810/114518:INFO:page_visibility_state.cc(70)] PageVisibilityState: app_state=kApplicationStateStarted (2) 
[cobalt]>[12267:2581204654:WARNING:thread_set_name.cc(36)] Thread name "Synchronous Load" was truncated to "Synchronous Loa" 
[cobalt]>[11604:2581247952:INFO:window_get_size.cc(36)] SbWindowGetSizewidth: 1920, height: 1080, ratio: 1 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.html 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.css 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://you_tube_logo.png 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: h5vcc-embedded://splash_screen.js 
[cobalt]>[0810/114518:INFO:page_visibility_state.cc(70)] PageVisibilityState: app_state=kApplicationStateStarted (2) 
[cobalt]>[12272:2581440597:WARNING:thread_set_name.cc(36)] Thread name "Synchronous Load" was truncated to "Synchronous Loa" 
[cobalt]>[0810/114518:INFO:fetcher_factory.cc(94)] Fetching: https://www.youtube.com/tv?additionalDataUrl=http://loc[...] 
[cobalt]>[0810/114518:ERROR:host_resolver_proc.cc(155)] [AAAAA]host= www.youtube.com 
[cobalt]>[0810/114518:ERROR:browser_module.cc(702)] NetFetcher error on : net::ERR_NAME_RESOLUTION_FAILED, response code -1 
[cobalt]>[0810/114518:WARNING:h5vcc_url_handler.cc(30)] url=//network-failure?retry-url=https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 
[cobalt]>[0810/114518:WARNING:h5vcc_url_handler.cc(92)] HandleNetworkFailure: 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=55 ttl=52 time=48.6 ms 
64 bytes from tsa03s02-in-f142.1e100.net (172.217.27.142): icmp_req=56 ttl=52 time=49.5 ms 
64 bytes from tsa03s02-in-f14.1e100.net (172.217.27.142): icmp_req=57 ttl=52 time=67.3 ms 
[cobalt]>[11604:2584493042:INFO:h5vcc_url_handler.cc(119)] try to reload url, url= https://www.youtube.com/tv?additionalDataUrl=http://localhost:56789/apps/YouTube/dial_data 

Antwort

0

In regelmäßigen nicht-Vorspannung-Modus, wenn Sie Cobalt ohne Netzwerk starten, wird er versuchen, die URL zu laden, fehlschlagen, und rufen Sie dann SbSystemRaisePlatformError, die in der Regel einen Fehlerdialog von einer Art erwartet wird angezeigt , die dann mit einem Indikator zurückrufen kann, um es erneut zu versuchen.

Im Vorlademodus ist die Situation nicht anders. Der Übergang vom Vorabladen zum Starten ist nur so, als würde die App sichtbar gemacht werden, sie weist jedoch nicht auf eine Änderung des Netzwerkstatus hin.

Wenn nun eine Implementierung im Preloading-Modus einen Plattformfehler hat, könnte sie warten, bis der Übergang gestartet wurde, und dann den Wiederholungsindikator auslösen. Das wäre der Plattform überlassen, wenn das gewünscht wäre.

Es gibt auch Netzwerkstatusänderungsereignisse, die gesendet werden können (siehe Steuerbord/event.h), aber ich bin mir nicht sicher, ob sie Cobalt veranlassen werden, es automatisch zu wiederholen.

+0

Hallo, David, versuchte ich es mit Ihrem Vorschlag, wenn es Youtube geladen fehlgeschlagen, dann versuchen, es in SbSystemRaisePlatformError neu zu laden, aber auch das Netwotk ist auf letzteres, es hat immer noch die ERR_NAME_RESOLUTION_FAILED, und bekam in SbSystemRaisePlatformError, kann es nicht lade YT mit Netzwerk neu ein. – bitchainer

+0

Ich füge die log msg zur Frage hinzu, bitte helfen Sie es zu referenzieren. – bitchainer

+0

schien der SystemHostResolverProc immer noch fehlgeschlagen, auch wenn das Netzwerk später eingeschaltet ist. – bitchainer

0

Stellen Sie die Filter standardmäßig kSbSocketResolveFilterIpv4 in SystemHostResolverProc von host_resolver_proc.cc, wird es nicht die ERR_NAME_RESOLUTION_FAILED erhalten, wenn es aus dem Netzwerk schaltet auf Zustand zu vernetzen, und es kann die YT Seite auch neu zu laden.

+0

Aber es gibt ein anderes Problem, wenn das lokale Netzwerk eingeschaltet ist, aber es YT nicht besuchen kann, wird es weiterhin den Fehler net :: ERR_FAILED erhalten, auch wenn es YT später besuchen kann und den YT nicht erneut laden kann – bitchainer