Кто-нибудь знает, поддерживает ли ios4 доменные сокеты unix? - PullRequest
0 голосов
/ 30 октября 2010

Следующее работает без ошибок на OSX 10.6, но не работает в симуляторе iphone с использованием SDK 4.1

#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: ");
    }
}

Ошибка: «Семейство адресов не поддерживается семейством протоколов»

Есть идеи?

1 Ответ

0 голосов
/ 30 октября 2010

Вам действительно нужно проверить носок - скорее всего, создание сокета - это то, что уже не удалось.

Я предполагаю, что AF_UNIX / SOCK_DGRAM не поддерживается; вместо этого попробуйте SOCK_STREAM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...