我寫了一個簡單的UDP服務器。那麼,我自然會在其中某處使用recvfrom()
函數。我已經在網上搜索了它,發現它是由緩衝區溢出引起的。這是真的?但我不明白爲什麼我的代碼失敗並引發同樣的錯誤,這裏是recvfrom()
相關的部分:Linux C++ recvfrom()更改(銷燬)[套接字]文件描述符
char messageFromClient[1024] = {0};
returnStatus = recvfrom(udpSocket, &messageFromClient, strlen(messageFromClient), 0, (struct sockaddr*)&udpSocket,
&addrlen);
文件描述符之前的recvfrom()
調用是3
但是當我叫它,它更改爲-187301886
你確定'strlen(messageFromClient)'?不應該是'sizeof(messageFromClient)' –
我已經使用了sizeof(),但無濟於事 –