0
Les travaux suivants sans erreur sur Mac OS X 10.6, mais échoue dans le simulateur d'iPhone en utilisant SDK 4,1Est-ce que quelqu'un sait si ios4 prend en charge les sockets de domaine Unix?
#include <arpa/inet.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/tcp.h>
#include <sys/un.h>
#include <string.h>
int main(void) {
int sock = socket(AF_UNIX, SOCK_DGRAM, 0);
struct sockaddr_un sock_addr;
memset(&sock_addr, 0, sizeof(struct sockaddr_un));
sock_addr.sun_family = AF_UNIX;
strcpy(sock_addr.sun_path, "/tmp/sock");
int err = bind(sock, (struct sockaddr*)&sock_addr, sizeof(struct sockaddr_un));
if(err == -1) {
perror("bind: ");
}
}
erreur est « famille d'adresses non pris en charge par la famille de protocole »
Toutes les idées?
Merci - Je l'ai re-couru vérifier "sock" et c'était une prise valide. Vous avez probablement raison de dire que ce n'est pas supporté, étant donné l'accès restreint au système de fichiers. SOCK_STREAM a échoué de la même manière. – jsheehy
Je suggère d'essayer socketpair (2). Si cela échoue, vous savez que AF_UNIX n'est probablement pas supporté. Si cela réussit, vous pouvez utiliser getsockname pour connaître les noms légaux de AF_UNIX. –