Vraag


Acties:
  • 0 Henk 'm!

  • vespino
  • Registratie: Oktober 2005
  • Laatst online: 09-09 17:53
Inleiding: ik reis Europa door met mijn dochter om pretparken te bezoeken. Daarbij is het handig om de wachttijden van de attracties bij de hand te hebben. Hiervoor heb ik een script geschreven dat de wachttijden verzamelt en op een voor mij fijne manier toont. Dit werkt o.b.v. de tijdzones waarin de parken zich bevinden.

Onlangs waren we in Blackpool, Engeland en toen viel het me op dat ik via mijn provider Vodafone de openingstijden van het park in Nederlandse tijd te zien kreeg. Ik heb het script echter zo gebouwd dat het de tijdzone aan zou moeten passen op de tijdzone waarin me op dat moment bevind. Dit doe ik o.b.v. IP-adres. Ok, ik weet dat dit niet altijd betrouwbaar is, maar 9 van de 10x wel. Het viel me echter op dat 4G altijd een Nederlands IP adres gebruikt. Vodafone zegt hier over "Ik zou je dat eerlijk gezegd niet durven zeggen. Maar als internet (4G) naar behoren werkt, dan zou ik mij daar geen zorgen om maken".

Zorgen maak ik me natuurlijk niet, zij snappen echter het nut kennelijk niet en ik krijg het ze niet uitgelegd. Ze zeggen het euvel te hebben onderzocht, maar "hieruit is helaas niets naar voren gekomen". Willen ze het me niet vertellen? Neem aan dat daar wel een paar slimme koppen werken die bijv. kunnen uitleggen dat roaming via een vorm van VPN of zoiets werkt. Heb dit niet getest, maar graag heel Vodafone online via hetzelfde IP adres misschien?

Is er een manier dit te omzeilen?

Ok, ik weet het, first world problem, ik zou natuurlijk ook gewoon via de wiffie van het pretpark kunnen surfen, maar sommige parken hebben dat niet of niet overal en 4G is daarin betrouwbaarder.

Beste antwoord (via vespino op 20-09-2022 09:46)


  • The_Wireless_Guy
  • Registratie: Juni 2001
  • Laatst online: 11-09 15:10

The_Wireless_Guy

Finally found an icon

Als je weet hoe roaming werkt zal je begrijpen dat je een NL IP adres krijgt.
Je bouwt nl altijd een datasessie op via je thuisnetwerk.
Je gaat van de zendmast in(in dit geval Blackpool) naar het core netwerk van het netwerk in Engeland, deze geeft je geen IP adres maar zet het door naar het core netwerk van Vodafone in Nederland en die deelt je IP adres uit. Je gaat dan ook in Nederland het internet op.

Dat het 9 van de 10 keren goed gaat is omdat je je in een land bevindt dat in dezelfde tijdzone zit als Nederland(UTC+1). Het zal niet goed gaan in UK(zoals je gemerkt hebt) en Portugal want die hebben de UTC tijdzone. Vrijwel heel Europa heeft UTC+1. De Baltische staten, Bulgarije, Ukraine, Roemenië en Griekenland hebben GMT+2 dus daar zal je ook een uur tijdverschil ondervinden.

Antenne en masten malloot

Alle reacties


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

Ik weet niet precies hoe het bij Vodafone zit, maar ik zou je oplossing ergens anders zoeken. Het klinkt alsof je nu serverside de tijden berekent.

In plaats daarvan zou je heel simpel in je script een UTC-tijd mee kunnen geven, en die clientside om kunnen zetten. Hiervoor kun je bijv. Moment.js gebruiken.

Tijdzones zijn op zich al belachelijk en niet te volgen, zeker als je kijkt naar landen als India waar je ook met een half uur moet gaan rekenen, dus over het algemeen is het echt heel erg af te raden om hier zelf in te gaan rekenen. Veel serverside tooling heeft dit natuurlijk ook gewoon ingebouwd, maar je kan er gewoon niet vanuit gaan dat de informatie die je op de server beschikbaar hebt klopt; headers zijn te spoofen, en een IP-adres kan niet worden omgezet naar een locatie.
Als je dus je telefoontijd wel altijd (automatisch) omzet, dan zou het clientside berekenen met een library de ideale oplossing zijn.

Acties:
  • 0 Henk 'm!

  • vespino
  • Registratie: Oktober 2005
  • Laatst online: 09-09 17:53
Iets waar ik nog niet aan had gedacht. Op dit moment bepaal ik o.b.v. het IP adres in welk land we ons bevinden en wordt de gegevens o.b.v. de bijbehorende tijdzone de informatie uit de database opgehaald. Clientside gebeurt er helemaal niks dus.

Ik ga eens kijken of ik via JavaScript de tijdzone mee kan geven. Maar goed, dit is oplossingsgericht denkend, natuurlijk goed, maar nog geen antwoord op mijn vraag.

Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 08-09 13:19

MAX3400

XBL: OctagonQontrol

Lang verhaal kort maar kan je niet gewoon (simpel he) gebruik maken van je GPS? Of een GoogleMaps API? Of anderszins een bepaling waardoor het buiten kijf staat waar jouw telefoon is (en dus onafhankelijk van Vodafone, roaming netwerk, etc)?

Al zou je maar eens in het half uur even jouw GPS-coordinaten naar je server sturen, tenzij je heeeeeel erg naast een tijdzone bevindt, lijkt me dat meer dan voldoende voor jouw positie-bepaling en om het script rekening te laten houden dat je het komende half uur "waarschijnlijk" in de buurt bent van attractie A, B en C en dat je niet als een malle door het park gaat rennen omdat 431m verderop de wachttijd 6 seconden minder is?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • vespino
  • Registratie: Oktober 2005
  • Laatst online: 09-09 17:53
Geen gek idee, maar als last resort, ik houd het namelijk liever server based.

Acties:
  • 0 Henk 'm!

  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

Het klinkt verstandiger om het client-side te doen. Aan de server-side heb je er weinig controle over (zie het probleem waar je nu tegenaan loopt) en aan client-side kun je zelf nog eventueel een override inbouwen waarmee jezelf land/ijdzone selecteert

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


Acties:
  • 0 Henk 'm!

  • Joriz
  • Registratie: Oktober 2003
  • Laatst online: 06:49
Waarom vraag je niet bij de client de tijdzone op? Dat is veel betrouwbaarder. Dan kan je dat op je server gebruiken om alles in de juiste tijdzone van de client te laten tonen.

Het land waarin een IP-adres zich kan bevinden is altijd bij benadering. Bij roaming zul je zien dat verkeer lokaal wordt geroute via Nederland. Waardoor de gok waar een IP zich bevindt noch minder klopt.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • The_Wireless_Guy
  • Registratie: Juni 2001
  • Laatst online: 11-09 15:10

The_Wireless_Guy

Finally found an icon

Als je weet hoe roaming werkt zal je begrijpen dat je een NL IP adres krijgt.
Je bouwt nl altijd een datasessie op via je thuisnetwerk.
Je gaat van de zendmast in(in dit geval Blackpool) naar het core netwerk van het netwerk in Engeland, deze geeft je geen IP adres maar zet het door naar het core netwerk van Vodafone in Nederland en die deelt je IP adres uit. Je gaat dan ook in Nederland het internet op.

Dat het 9 van de 10 keren goed gaat is omdat je je in een land bevindt dat in dezelfde tijdzone zit als Nederland(UTC+1). Het zal niet goed gaan in UK(zoals je gemerkt hebt) en Portugal want die hebben de UTC tijdzone. Vrijwel heel Europa heeft UTC+1. De Baltische staten, Bulgarije, Ukraine, Roemenië en Griekenland hebben GMT+2 dus daar zal je ook een uur tijdverschil ondervinden.

Antenne en masten malloot


Acties:
  • +1 Henk 'm!

  • vespino
  • Registratie: Oktober 2005
  • Laatst online: 09-09 17:53
@The_Wireless_Guy dank voor de helder uitleg!
Pagina: 1