0
沒有錯誤以下工作在OSX 10.6,但在使用SDK 4.1有誰知道ios4是否支持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: ");
}
}
誤差
任何想法「家庭地址協議族不支持」 iPhone模擬器失敗?
謝謝 - 我重新運行它檢查「襪子」,它是一個有效的套接字。考慮到受限制的文件系統訪問,您可能是對的,因爲它不受支持。 SOCK_STREAM以同樣的方式失敗。 – jsheehy 2010-10-29 21:11:11
我建議嘗試socketpair(2)。如果失敗了,你知道AF_UNIX可能不被支持。如果成功,您可以使用getsockname來找出AF_UNIX的合法名稱。 – 2010-10-29 22:06:30