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