gpt4 book ai didi

c# - UDP 套接字 : recvfrom() returns -1 (SOCKET_ERROR)

转载 作者:行者123 更新时间:2023-11-28 06:30:29 25 4
gpt4 key购买 nike

我正在开发基于 UDP 协议(protocol)的服务器-客户端应用程序。服务器端用 C++ 编写,客户端用 C# 编写。

在服务器端,我使用 recvfrom() 获取缓冲区:

int bufLen = recvfrom(s, buf, 1024, NULL, (sockaddr*)&addr, &addrlen);

奇怪的是,接收到的 buf 正是我从客户端发送的,但是 bufLen 是 -1,即 SOCKET_ERROR。

我不知道可能是什么问题。请帮忙。非常感谢。

最佳答案

您的数据报太大,或者您的缓冲区太小。

数据报比您的缓冲区大,因此它被截断,您从 recvfrom 和 GetLastError() 返回错误返回 10040,('WSAEMSGSIZE')。

关于c# - UDP 套接字 : recvfrom() returns -1 (SOCKET_ERROR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com