簡體   English   中英

調用recvfrom后,套接字描述符已更改

[英]Socket Descriptor Changed After Call to recvfrom

編輯:刪除了代碼/解釋,因為該項目已被再次給出,學生可以通過這篇文章輕松地找到解決方案。

為了弄清楚發生了什么,我只是在recvfrom()調用中傳遞了錯誤的長度/大小。

在這一行:

if(recvfrom( temp->sockfd, sendHostIP, BUFFER_LEN, 0, (struct sockaddr *)&recvAddr, &recvLen) < 0)
    errorMsg("recvfrom");

您將BUFFER_LEN作為長度(256)傳遞,但是sendHostIP的長度僅為MAXHOSTNAMELEN (64)。

這導致recvfrom()溢出該緩沖區。 當您讀入localHostIP時,會發生相同的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM