<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div>I think i found why this is not working, as you can see below, socket is connected and first message is sent (the initialize message), which is answered and the response is read ({“result”: true}).</div><div><br></div><div>Problem is (and i’ve testing with golang and python) after the answer the “initialize” message, the socket is closed, so, getAllDomains message is being sent using a closed socket and that’s why i don’t see it on the responder side and pdns does not receive and answer, polls 2 times and reaches timeout.</div><div><br></div><div>i can see there’s no test for unixsocket in the source tree.</div><div><br></div><div>So this arises my question to you, do you think my conclusion is ok? do the <a href="http://unixconnector.cc">unixconnector.cc</a> should be modified?</div><div><br></div><div><br></div><div>Context, im moving out from http to unixsocket to gain in speed, im not sure if using pipes will improve that or the UDS is still the best option.</div><div><br></div><div>Thanks again!! regards</div><div> </div><div><br></div><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 28 Nov 2023, at 16:37, Alexis Fidalgo <alzrck@gmail.com> wrote:</div><br class="Apple-interchange-newline"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">has to be on my side. i made a change in the way i read/write to the socket and now i get <div><br></div><div><div>socket(AF_UNIX, SOCK_STREAM, 0)         = 12</div><div>connect(12, {sa_family=AF_UNIX, sun_path="/tmp/pra.sock"}, 110) = 0</div><div>write(12, "{\"method\": \"initialize\", \"parame"..., 66) = 66</div><div>poll([{fd=12, events=POLLIN}], 1, 1000) = 1 ([{fd=12, revents=POLLIN}])</div><div>read(12, "{\"result\":true}", 1500)     = 15</div><div>write(12, "{\"method\": \"getAllDomains\", \"par"..., 70) = 70</div><div>poll([{fd=12, events=POLLIN}], 1, 1000) = 0 (Timeout)</div><div>poll([{fd=12, events=POLLIN}], 1, 1000) = 0 (Timeout)</div><div>close(12)</div><div><br></div><div>pdns now dies after the two POLL (timeout), i’ll work on my read/write code to fix this and let you know.</div><div><br></div><div>thanks again</div></div></div></div></blockquote></div><br></body></html>