socket循环接收

This commit is contained in:
yzc
2020-01-02 13:17:27 +08:00
parent 905c30e2b1
commit 8302fafa96

View File

@@ -161,7 +161,7 @@ int readNlSock(int sockFd, char *bufPtr, int seqNum, int pId)
{
struct nlmsghdr *nlHdr = NULL;
int readLen = 0, msgLen = 0;
do{
while(1){
//收到内核的应答
if((readLen = recv(sockFd, bufPtr, BUFSIZE - msgLen, 0)) < 0)
{
@@ -192,12 +192,11 @@ int readNlSock(int sockFd, char *bufPtr, int seqNum, int pId)
bufPtr += readLen;
msgLen += readLen;
}
if((nlHdr->nlmsg_flags & NLM_F_MULTI) == 0)
{
break;
}
} while((nlHdr->nlmsg_seq != seqNum) || (nlHdr->nlmsg_pid != pId));
}
return msgLen;
}