Een websocket connectie opzetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

15/07/2021 13:56:05
Quote Anchor link
Ik heb een pagina die constant een ajax request uitvoert om een check uit te voeren. Elke paar seconde wordt er dus een http request gemaakt wat niet echt handig is geprogrammeerd. Nu wil ik dit graag oplossen door een websocket connectie te gebruiken.

Hoe het nu werkt:

Gebruiker opent op pagina 1 in een nieuw tab pagina 2. Wanneer er een actie wordt uitgevoerd op pagina 2 wordt dit in de database opgeslagen. Pagina 1 checkt elke paar seconde of er wat is veranderd in de database, zo ja, voer actie uit op pagina 1.

Hoe ik wil dat het werkt met een websocket:
Gebruiker opent op pagina 1 in een nieuw tab pagina 2 en wanneer er een actie wordt uitgevoerd, wordt dit met een websocket connectie doorgegeven en wordt een actie uitgevoerd op pagina 1.

Nu is de vraag, hoe start ik zo'n connectie? Ik maak gebruik van shared hosting en heb toegang tot de command line.
Ik heb deze pagina gevonden die ik wou gebruiken om eerst is te gaan testen: https://medium.com/@cn007b/super-simple-php-websocket-example-ea2cd5893575

Maar ik loop hier al vast. Wat voer ik bijvoorbeeld hier in? :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$address = '0.0.0.0';
$port = 12345;

Het adres van de server? En welke poort gebruik ik dan?

Ook zie ik dat je de volgende command moet uitvoeren in de command line:

php -q websockets.php

Ik neem aan dat je hier het hele pad moet invoeren waarin het testbestand op de server staat?
 
PHP hulp

PHP hulp

22/12/2024 04:58:39
 

15/07/2021 14:12:01
Quote Anchor link
Zou chunked HTTP niet een simpeler alternatief zijn voor het probleem?

Zie bijvoorbeeld de oplossingen van SO.
 
- Ariën  -
Beheerder

- Ariën -

15/07/2021 14:21:01
Quote Anchor link
Bij het gebruiken van websockets, moet je wel een websocket-service hebben draaien. Bijvoorbeeld met nodeJS.
 
Snelle Jaap

Snelle Jaap

15/07/2021 14:41:02
Quote Anchor link
Ad Fundum op 15/07/2021 14:12:01:
Zou chunked HTTP niet een simpeler alternatief zijn voor het probleem?

Zie bijvoorbeeld de oplossingen van SO.

Hoe zou ik dat kunnen toepassen? Als ik de antwoorden lees wordt ik er niet veel wijzer van. De situatie is nu als volgt:

Een gebruiker kan bij een product op een knop klikken die een editor opent in een nieuw tabblad. De gebruiker kan daar zijn product bewerken en klikken op 'klaar' wanneer hij wilt afronden.

Zodra daarop geklikt wordt sluit het tabblad en moet pagina 1 verversen. Dat doe ik nu dus door elke paar seconden een ajax call uit te voeren.

- Ariën - op 15/07/2021 14:21:01:
Bij het gebruiken van websockets, moet je wel een websocket-service hebben draaien. Bijvoorbeeld met nodeJS.

Ik hoor net dat mijn shared hosting het sowieso niet toelaat dus helaas is het niet mogelijk.
 
- Ariën  -
Beheerder

- Ariën -

15/07/2021 15:59:34
Quote Anchor link
Dan zou je een VPS moeten nemen.
 
Jan R

Jan R

16/07/2021 18:59:33
Quote Anchor link
Je kan ook werken met een nas en je webpagina doorsluizen naar jas. synology zou het kunnen. Staat op mijn lijstje om ook eens te proberen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.