我正在尝试使用以下代码通过 UDP 发送,但我得到了奇怪的结果。
if((sendto(newSocket, sendBuf, totalLength, 0, (SOCKADDR *)&sendAddr, sizeof(sendAddr)) == bytesSent) < 0)
{
printf("Send error! - %d\n", WSAGetLastError());
}
但是,当 totalLength 变量设置为 30 时,sendto 函数实际上返回 2292556,它不应该返回至少在 30 左右的东西吗?我在使用 sendto 之前检查了 totalLength 变量,它会很高兴地返回一个我同意的值,但随后 sendto 返回一个巨大的值。总长度永远不会大于实际缓冲区大小。
WSAGetLastError 只是返回 0。
谢谢。