我在Mac中用xcode键入套接字示例:
//
// main.c
// testsocket
//
// Created by YiranWang on 17/11/2016.
// Copyright © 2016 YiranWang. All rights reserved.
//
//#include "unp.h"
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <stdio.h>
#define SERV_PORT 9987
#define SA struct sockaddr
#define LISTENQ 1024
int main(int argc, const char * argv[]) {
struct sockaddr_in cliaddr,servaddr;
pid_t childpid;
int listenfd,connfd;
socklen_t clien;
listenfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(SERV_PORT);
bind(listenfd, (SA *)&servaddr, sizeof(servaddr));
listen(listenfd, LISTENQ);
for (; ; ) {
clien = sizeof(cliaddr);
connfd = accept(listenfd, (SA *)&cliaddr, &clien);
if ((childpid = fork()) == 0) {
close(listenfd);
str_echo(connfd);
exit(0);
}
close(connfd);
}
}
当我构建时,它错误
最佳答案
我尝试一些方式DerivedData并更改您的项目目标的“体系结构”
Xcode build failure "Undefined symbols for architecture x86_64"
但没有用
最终我发现某些函数没有引用,因此我添加了有效的函数定义。
@Sourav Ghosh感谢您的建议。