I am trying to write a simple Unix datagram server/client, and am having some problems. What I want is a server that listens on a datagram socket and sends a reply to every
You should call connect before of trying send nothing to the echo server.
Take a look at: http://beej.us/guide/bgipc/output/html/multipage/unixsock.html
Take a look at the Michael Kerrisk's AF_UNIX SOCK_DGRAM example of the client/server program (client, server) published in his book The Linux Programming Interface, chapter 57.
Socket need to have address to be addressed to receive packets. You can call bind()
with unique socket filename based on the PID or in linux use autobound abstract address if to call before send
:
bind(s, (const struct sockaddr *)&sa, sizeof(sa_family_t));