gpt4 book ai didi

c - C 中的 Accept() - 套接字编程

转载 作者:行者123 更新时间:2023-11-30 15:08:51 24 4
gpt4 key购买 nike

我正在尝试使用以下代码编写服务器example code ,但我尤其对这些陈述感到困难。

int Accept(int s, struct sockaddr *addr, socklen_t *addrlen) 
{
int rc;

if ((rc = accept(s, addr, addrlen)) < 0)
unix_error("Accept error");
return rc;
}
...

socklen_t clientlen = sizeof(struct sockaddr_storage);
int connectFd = Accept(listenfd, (SA *)&clientaddr, &clientlen)

如果我使用SA,它会出现一个错误,内容如下:

server.c:175:36: error: ‘SA’ undeclared (first use in this function)  
connectFd = accept(listenFd, ( SA * )&clientaddr, &c);

server.c:175:36: note: each undeclared identifier is reported only once for each function it appears in server.c:175:40: error:
expected expression before ‘)’ token
connectFd = accept(listenFd, (SA * ) &clientaddr, &c);
server.c:175:18: error: too few arguments to function ‘accept’
connectFd = accept(listenFd, (SA *)&clientaddr, &c);

有什么办法可以解决这个问题吗?

最佳答案

您的程序中未定义类型SA,编译器无法找到它,您可能需要将以下 typedef 添加到您的程序中:

typedef struct sockaddr SA;

关于c - C 中的 Accept() - 套接字编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com