On Fri, 25 Jan 2019, Michael Jungnickl via curl-library wrote:
Does the cURL library support the development of such new protocols?
libcurl does offer "raw" read/write functions, but I can't say it is an
approach we encourage very much. The functions are very basic and often aren't
good enough for implementors to do custom protocols with.
res = curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1");
res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, 23116);
// No other initialization, since it's raw data.
// Some testings, which are wrong I think.
// res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP);
// res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1);
You MUST use CURLOPT_CONNECT_ONLY, but you must also cal curl_easy_perform()
to actually connect. Once that has been successful, you can call:
res = curl_easy_send(curl, lpBodyA, nBodyA, &lenSend);
res = curl_easy_recv(curl, recData, sizeof(recData), &lenRec);
There's also an example showing how it can be used:
https://curl.haxx.se/libcurl/c/sendrecv.html
--
/ daniel.haxx.se
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html