I'm running this example http://doc.qt.io/qt-5/qtcore-ipc-localfortuneserver-example.html
Using cat <socket_name>
works fine, I even managed to connect with python.
However this unfortunately fails. -> connect() failed: [2][No such file or directory] ? W H Y ¿
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <arpa/inet.h>
#define SOCK_PATH "/Users/Name/socket"
int main(void) {
int sockfd = 0,n = 0, err = 0;
char recvBuff[1024];
struct sockaddr_un serv_addr;
const char* const pcSocketName = SOCK_PATH;
memset(recvBuff, '0' ,sizeof(recvBuff));
if((sockfd = socket(AF_UNIX, SOCK_STREAM, 0))< 0) {
printf("\n Error : Could not create socket \n");
return 1;
}
serv_addr.sun_family = AF_UNIX;
serv_addr.sun_path[0] = '\0';
strncpy(serv_addr.sun_path+1, pcSocketName, strlen(pcSocketName));
err = connect(sockfd, (struct sockaddr*) &serv_addr, sizeof(serv_addr));
if(0 != err) {
printf("connect() failed: [%d][%s]\n", errno, strerror(errno));
return(-1);
}
while((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0) {
recvBuff[n] = 0;
if(fputs(recvBuff, stdout) == EOF) {
printf("\n Error : Fputs error");
}
printf("\n");
}
if( n < 0) {
printf("\n Read Error \n");
}
printf("Over..\n");
return 0;
}
I'm running on MacOS, building with gcc. Parts of this code were put together from various places on the web.