我有一個服務器正在偵聽端口
該請求從我的本地客戶端發送到本地pc上運行的服務器。
以下是我的代碼片斷爲什麼我從recvfrom()獲得遠程IP地址0.0.0.0?
remote_len = sizeof(remote_addr);
if ((bytes=recvfrom(sockfd, buf, MAXBUFLEN , 0,
(struct sockaddr *)&remote_addr, &remote_len)) <= 0) {
exit(1);
}
printf("remote ip = %s\n",inet_ntoa(remote_addr.sin_addr));
當我打印的IP我得到0.0.0.0?
這不是我想要打印的遠程IP地址嗎?
編輯:它是一個TCP套接字,我成功地收到了緩衝區。
'recvfrom'返回什麼值?它是否成功?什麼類型的套接字?它連接了嗎? etc ... –
是的,它成功了。它是一個TCP套接字 – SPB
remote_len的值是什麼?您可能正在獲取IPv6回送地址。 –