Websockets toevoegen aan website

Status
Niet open voor verdere reacties.

Aar

Inventaris
Lid geworden
3 aug 2014
Berichten
10.020
Besturingssysteem
Windows 11 en diverse Linux-soorten
Office versie
Office 365
Ik kan via een leverancier toegang krijgen tot een websocket. Echter een simpele vraag:

Op welke manier zou ik dit uit kunnen lezen in mijn site. Ik begrijp dat het steeds gepushed wordt naar een cliënt of server.
Ik heb nog geen idee hoe die socket in elkaar steekt, maar heeft iemand een idee wat ik mogelijk nodig kan hebben? Dan kan ik mij er alvast in verdiepen :)
 
Is de data alleen serverside bedoeld om te verwerken dan is alleen een php websocket client nodig.

Wil je de data niet bewerken maar gaat het om communicatie in de browser dan kan je kiezen:
- via de server (php client+server nodig én Javascript client nodig).
- of rechtstreeks (alleen Javascript client nodig)

Ik zou beginnen met een kleine Javascript client om te achterhalen welke data gecommuniceerd wordt.

In de bijlage een voorbeeld wat ik niet heb kunnen testen maar waar je denk ik wel mee verder kan.
In Chrome ontwikkeltools kan je eea uitlezen.
 

Bijlagen

  • websocket-client-js.zip
    1,6 KB · Weergaven: 31
ik denk dat je dit zoekt
PHP:
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>
denk ook aan nusoap (lib die veel afhandeld)
 
Het is geen copy/paste van dit example 2
Als ik een aantal php client libraries inkijk dan komt er veel meer bij kijken.
 
Laatst bewerkt:
In eerste instantie gaat het om enkele het ontvangen van de data bij de cliënt. Misschien dat ik er later nog wat aan toevoeg, maar ik richt me eerst enkel op het ontvangen.

Ik zal straks even je voorbeeld downloaden, en testen met een websocket (als ik de locatie van de socket heb gekregen ;) )
 
De invulvelden in het testformulier (index.php) worden bij elkaar gevoegd tot deze syntax:
{protocol}://{hostname}:{port}{endpoint}

Als het protocol anders is, bijvoorbeeld ssl:// dan kan je dat in de <select> veranderen.

Het "real-time" mechanisme (de push van de server) zit er nog niet in verwerkt.
 
Het is geen copy/paste van dit example 2
Als ik een aantal php client libraries inkijk dan komt er veel meer bij kijken.

Dit hoef je niet te benadrukken het van oorsprong van php.net als je dit wil horen.
de link komt al actief in het script venster mocht je het niet weten.

socket = je kan ook je eigen protocol maken...
merk op als je het goed aanvat je ook met arduino ... kan aanmelden als dit ooit in aanmerking zou komen(kwestie simpel te houden).
 
socket = je kan ook je eigen protocol maken...
Je mag de vraag nog eens lezen. Het gaat om een WebSocket.
Dat is een gestandaardiseerd netwerkprotocol voor fullduplex communicatie over een TCP verbinding.
Een websocket adres begint met ws:// of wss://

Lees het bericht #3 nog eens. Een appel is fruit maar fruit is niet een appel.
 
Ik heb begrepen dat het nog wel een maandje gaat duren voordat de websocket die ik wil gaan gebruiken, beschikbaar is.

Ik kan natuurlijk zelf een websocket server de lucht inslingeren, maar bestaat er geen voorbeeld websocket die ik kan gebruiken?
 
Deze link (klik) zal je op weg helpen met de ws server & client. Het is niet in een uurtje gepiept :p veel lezen en testen.

Wil je sockets in XAMPP Windows testen:
Verwijder dan de ; in X:\xampp\php\php.ini bij ;extension=php_sockets.dll
Daarna even Apache herstarten.
 
Laatst bewerkt:
Dankjewel voor de tip :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan