[英]Accept() in C - Socket Programming
我正在嘗試使用以下示例代碼對服務器進行編碼 ,但特別是在處理這些語句時遇到了麻煩。
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.