Results 1 to 12 of 12

Thread: (Iemand ervaring met) Websocket Pusher Client

  1. #1

    (Iemand ervaring met) Websocket Pusher Client

    Hallo,

    Heeft er iemand toevallig ervaring met een Websocket Pusher Client? Het liefst in Lazarus. Ik probeer een desktopclient te maken die met een server backend praat. Daarbij de connectie openhoudend en op een channel te registreren. Dan hoeft er niet iedere keer een poll gedaan te worden maar kan de client automatisch een bericht krijgen.

    Echter is er nauwelijk Websocket informatie te vinden met Pascal. Als ik dan iets vind dan werkt het wel met Server/Client voorbeeld zelf, maar niet middels de pusher api naar de server. Andere clients draaien met Delphi, maar niet op Lazarus.

    Heeft er iemand hier ervaring mee? Ook bij pusher zelf zijn voor ongeveer alle programmeertalen libraries beschikbaar, maar helaas niet voor Pascal.

  2. #2
    Geen ervaring...

    Deze wel gevonden en is voor Delphi maar misschien heb je er wat aan:
    https://github.com/monde-sistemas/pu...bsocket-delphi

  3. #3
    Thanks, ja die had ik ook gevonden. Helaas heeft die geen support voor FreePascal/Lazarus. Staat ook een issue voor open.

    Lazarus struikelt over: TCallbackProcedure = reference to procedure(message: string);

    En ze zeggen daar:
    We don´t currently use Lazarus so we have no plans of supporting it
    .
    Dus helaas werkt die niet.


    Mijn andere waarmee ik aan het spelen ben is Bauglir: https://github.com/Robert-112/Bauglir-WebSocket-2.
    Dat voorbeeld van Websocket Server/Client werkt wel. Alleen die krijg ik niet connecten met mijn webserver, waarschijnlijk vanwege de pusher api die niet gebruikt wordt.

  4. #4
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Dat is een anonymous method, en FPC ondersteunt dat nog niet, ook niet in trunk.

    Echter vaak is het indien statisch redelijk makkelijk te vervangen door gewone straight typering. Hoeveel komt dit voor?

    De source code daar ziet eruit of het nog steeds werkt als "reference to" wordt weggelaten.

    (later toegevoegd) Nope, compiler crashed. De code ziet er overigens gruwelijk uit, en is waarschijnlijk niet erg portable(zelfs niet naar windows 64-bit, zie de longint typecasts in .connect)

  5. #5
    Oke. Ja, daarom. Op het moment dat een voorbeeld niet werkt dan haak ik al snel af. Want dan heb ik het idee (nergens op gebaseerd) dat het een boel extra moeite gaat kosten als het sowieso al lukt. Dacht even snel ergens een voorbeeldje vinden en daar dan verder op gaan boorduren. Kom er alleen achter dat er dus helaas niet echt een werkend voorbeeld is voor Pascal. Had het idee dat ik vast niet de eerst zou zijn met deze vraag.

    Maar zal van de week wel eens kijken of ik deze werkend kan krijgen op Lazarus.

  6. #6
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Ik heb nog wat gerommeld, een aangeniet compileert met FPC 3.3.1.

    Voor de bug heb ik https://bugs.freepascal.org/view.php?id=35468 geopend.
    Attached Files Attached Files

  7. #7
    Geen idee hoor, maar het ombouwen tot arrays lijkt mij ook niet zo'n groot probleem.

    (niet getest maar ff uit de losse vuist getikt)
    Attached Files Attached Files

  8. #8
    Thanks voor het meedenken direct, dat wordt echt gewaardeerd. Ik ben er eens even verder mee gaan spelen aan de hand van beide voorbeelden. Ik krijg het uiteindelijk wel aan het compileren (als ik allerlei zaken wegcomment en gewoon alleen wat Messages ga showen.

    Echter blijkt hij toch niet te connecten naar mijn webserver. Deze draait lokaal op poort 6001. Met webbrowsers wil hij wel connecten alleen met dit project blijf ik maar problemen krijgen. Nu is mijn probleem mede dat ik ook niet kan zien of het aan de dll ligt die erbij zit (die is wel erg oud). Dus dat is mijn probleem dat ik er tegenaanloop dat het niet lukt te connecten en ik geen idee heb waar het aan ligt of hoe ik dit verder kan debuggen.

    Het enige wat ik eigenlijk nodig heb is een client die met de websocket server een connectie open houdt en data die ontvangen wordt weggeschreven wordt naar een bestandje op de lokale machine. Maar misschien moet ik maar even kijken of er een voorbeeld is in .Net of Java of C++ oid die wel out of de box werkt en kijken of ik daar op kan voortboorduren.

  9. #9
    Update: Ik heb Delphi maar even gedownload en geinstalleerd. En ook daar doet dat voorbeeld project het niet. Ik moet maar even een andere manier gaan zoeken, want er is blijkbaar weinig informatie over Pascal icm Websocket (en dan de Pusher api).

    Bedankt in ieder geval zover!

  10. #10
    Quote Originally Posted by WhatJac3 View Post
    Ik moet maar even een andere manier gaan zoeken, want er is blijkbaar weinig informatie over Pascal icm Websocket (en dan de Pusher api).
    Of kijken waarom die Delphi code niet werkt. Hij is volgens mij wel redelijk compleet en niet zo groot dus ook niet zo moeilijk te begrijpen en te debuggen.

    Lijkt me handiger dan te zoeken naar een andere taal en van daar opnieuw te beginnen.

  11. #11
    Maar ik weet te weinig van WebSockets en dan ook nog de Pusher API voor het hele communicatie protocol.

    Ik heb nu een betaalde versie (met trial) gevonden: https://www.esegece.com/websockets. Heb dus maar gewoon Delphi gedownload en die werkt wel direct. Ik ga daar maar even mee aan de slag. Dan eventueel die maar kopen mocht dit goed werken en de oplossing zijn. Helaas geen Freepascal/Lazarus dan (want daar krijg ik die component niet in aan het werk), maar ik kan in ieder geval even verder.

  12. #12
    Quote Originally Posted by WhatJac3 View Post
    Helaas geen Freepascal/Lazarus dan (want daar krijg ik die component niet in aan het werk), maar ik kan in ieder geval even verder.
    Ze zeggen dat het wel ondersteund wordt...

    Supports Lazarus / FreePascal
    https://www.esegece.com/websockets/order

    Maar goed... dan heb je misschien ook de ondersteuning aldaar.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •