- 論壇徽章:
- 1
|
本帖最后由 jd808 于 2016-03-14 14:30 編輯
- bool UDPRecv::UDPRecv(int hSock,char ** pchOutBuf,int * nOutLen,struct sockaddr_in * From)
- {
- //定義接收緩沖區(qū)
- char chBuf[DATA_BUFSIZE];
- unsigned long dwRecvLen = 0;
- bool bRet = false;
- if(pchOutBuf == NULL ||
- nOutLen == NULL || From == NULL)return false;
- memset(chBuf,0,DATA_BUFSIZE);
- int len = sizeof((struct sockaddr*)From);
- //接收數(shù)據(jù)
- dwRecvLen = recvfrom(hSock,chBuf,DATA_BUFSIZE,0,(struct sockaddr*)From,&len);
- if(dwRecvLen == -1)return false;
- return
- UDPRecv(hSock,chBuf,dwRecvLen,From,&(*pchOutBuf),nOutLen);
- }
復制代碼 為啥eclipse提示 Invalid arguments ' Candidates are: long int recvfrom(int, void *, unsigned long int, int, sockaddr *, unsigned int *) '這個錯誤呢?
我查了網(wǎng)上的,都是這么用的呀
編譯提示
error: invalid conversion from ‘int*’ to ‘socklen_t* {aka unsigned int*}’ [-fpermissive] |
|