Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: Send data before receiving data using the callback approach for WebSocket requests
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Darshan Sen via curl-library <curl-library_at_lists.haxx.se>
Date: Mon, 5 Jun 2023 18:32:29 +0530
Actually, I would still need this to work with the callback approach
because my application is required to work in a push-based mechanism, so
that it can allow users to attach callbacks to listen for received data
instead of a pull-based model where users would need to explicitly call my
APIs to pull in the received data. To be clear, I'm basically creating a
libcurl-based Node.js C++ addon <https://nodejs.org/api/addons.html> for
the WebSocket JavaScript Web API
<https://developer.mozilla.org/en-US/docs/Web/API/WebSocket> where users
should be able to attach callback handlers to process the received data and
explicitly call my APIs to send data.
On Mon, Jun 5, 2023 at 5:08 PM Darshan Sen <raisinten_at_gmail.com> wrote:
> Hi! I was experimenting with sending WebSocket requests using libcurl.
> Since my codebase already uses the callback approach for HTTP requests and
> I was just adding support for WebSocket connections, I thought of
> continuing using the same write callback for WebSocket connections too.
> However, I was trying to connect with a WebSocket server that expects the
> client to send data before responding. So I had a question:
>
> When using the callback approach
> <https://everything.curl.dev/libcurl/ws/concept#1.-the-callback-approach>,
> is it possible to run curl_ws_send() right after the connection is
> established, before the write callback function is executed for the first
> time?
>
> It isn't documented but I still tried setting CURLOPT_READFUNCTION to a
> valid read callback function but that didn't work, so I guess read
> callbacks are not expected to work when doing WebSocket requests. Does this
> mean that I would need to use the connect-only approach
> <https://everything.curl.dev/libcurl/ws/concept#2.-the-connect-only-approach>
> for WebSocket connections?
>
> Even if we find a solution for the callback approach, I was wondering if
> any of these approaches <https://everything.curl.dev/libcurl/ws/concept> are
> recommended over the other?
>
> Thanks!
>
Date: Mon, 5 Jun 2023 18:32:29 +0530
Actually, I would still need this to work with the callback approach
because my application is required to work in a push-based mechanism, so
that it can allow users to attach callbacks to listen for received data
instead of a pull-based model where users would need to explicitly call my
APIs to pull in the received data. To be clear, I'm basically creating a
libcurl-based Node.js C++ addon <https://nodejs.org/api/addons.html> for
the WebSocket JavaScript Web API
<https://developer.mozilla.org/en-US/docs/Web/API/WebSocket> where users
should be able to attach callback handlers to process the received data and
explicitly call my APIs to send data.
On Mon, Jun 5, 2023 at 5:08 PM Darshan Sen <raisinten_at_gmail.com> wrote:
> Hi! I was experimenting with sending WebSocket requests using libcurl.
> Since my codebase already uses the callback approach for HTTP requests and
> I was just adding support for WebSocket connections, I thought of
> continuing using the same write callback for WebSocket connections too.
> However, I was trying to connect with a WebSocket server that expects the
> client to send data before responding. So I had a question:
>
> When using the callback approach
> <https://everything.curl.dev/libcurl/ws/concept#1.-the-callback-approach>,
> is it possible to run curl_ws_send() right after the connection is
> established, before the write callback function is executed for the first
> time?
>
> It isn't documented but I still tried setting CURLOPT_READFUNCTION to a
> valid read callback function but that didn't work, so I guess read
> callbacks are not expected to work when doing WebSocket requests. Does this
> mean that I would need to use the connect-only approach
> <https://everything.curl.dev/libcurl/ws/concept#2.-the-connect-only-approach>
> for WebSocket connections?
>
> Even if we find a solution for the callback approach, I was wondering if
> any of these approaches <https://everything.curl.dev/libcurl/ws/concept> are
> recommended over the other?
>
> Thanks!
>
-- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2023-06-05