开发者

Does anyone know if ios4 supports unix domain sockets?

The following works without error on OSX 10.6, but fails in the iphone simulator using 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: ");
    }
}

Erro开发者_Python百科r is "Address family not supported by protocol family"

Any ideas?


You really need to check sock already - most likely, the socket creation is what failed already.

My guess is that AF_UNIX/SOCK_DGRAM is not supported; try SOCK_STREAM instead.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜