Closed readysloth closed 1 year ago
Simple sequence of socket-connect-send-recv
works alright, so I don't really know how much it is relatable for drivers, but if you will find problem, I would be happy to hear, what caused it
It turns out, that if you use CURLOPT_OPENSOCKETFUNCTION to create socket and connect in callback, and CURLOPT_SOCKOPTFUNCTION to just return CURL_SOCKOPT_ALREADY_CONNECTED
then it works as expected.
Not tested on vanilla curl yet, but solves my problem.
Describe the bug Sent request hangs indefinitely.
To Reproduce Steps to reproduce the behaviour:
curl --build . --config Debug
gcc -Icurl/include -Lpath/to/folder/with/libcurl-d.lib -l libcurl-d -o vsock-curl-test.exe
(I use mingw)socat -dd VSOCK-LISTEN:6667,crlf,reuseaddr,fork SYSTEM:"echo HTTP/1.1 200 OK; echo Content-Type\: text/plain"
vsock-curl-test.exe
Expected behavior
vsock-curl-test.exe
outputsHost:
-device vhost-vsock-pci,guest-cid=3
VM:
Additional context I'm trying to build client-server HTTP application over vSockets that uses curl. As a minimal testing environment I chose
socat
to mimic vSocket HTTP-server and curl as a client HTTP library.Also, I attach TraceView logs of socat server,
viosocklib.dll
andviosock.sys
:socat:
viosocklib.dll
andviosock.sys
: