[Netsurf-develop] Re: netsurf offline
james at semichrome.net
Mon Dec 5 19:59:15 GMT 2005
> Chris Manning has suggested, in off-list correspondence, that
> NetSurf's behaviour is determined by the value of Inet$Resolvers at
> the_time_NetSurf_is_started. If DNS addresses are available, NetSurf
> assumes that a net connection exists and will attempt to load objects
> from remote urls. If DNS addresses are not available, NetSurf ignores
> remote urls.
> Thus, once NetSurf has been online, DNS addresses are available, and
> NetSurf attempts to load remote objects, even though the machine may
> then be offline. This corresponds exactly with my experience.
> This could also explain why loading a page times-out if NetSurf is
> started before the net connection is established (Inet$Resolvers was
> null when NetSurf started).
> To fix this it seems that
> 1 the dialling software should re-set the value of Inet$Resolvers to
> null, upon hang-up, and
> 2 NetSurf should check the value of Inet$Resolvers prior to loading
> _every_ page, not only when NetSurf starts.
> Is this analysis correct?
Yes, this is correct (except for pages with a numeric address, where
NetSurf will try and fetch even if no DNS servers are available).
The real cause of the 30 second wait is that NetSurf keeps trying to
connect to the DNS server until it times out. Ideally RISC OS (if
connected directly) or your router (if present) should send back an error
notification (ICMP message), and NetSurf should then give up immediately.
I don't know if the library that we're using supports this.
More information about the netsurf-users