【问题标题】:dot net programing udp buffersize errordot net 编程 udp 缓冲区大小错误
【发布时间】:2011-05-11 10:10:13
【问题描述】:

我正在尝试通过 UDP 广播套接字发送图像 (byte[])。一世 收到以下错误,指出我的消息大于 内部消息缓冲区。

“System.Net.Sockets.SocketException”类型的未处理异常 发生在 System.dll 中

附加信息:在数据报套接字上发送的消息较大 比内部消息缓冲区或其他一些网络限制,或 用于接收数据报的缓冲区小于数据报 自己

环顾谷歌,我的印象是,这是一个 一般的winsock错误,与.net没有直接关系 执行。我认为如果一条消息大于 内部缓冲区,winsock 会分解消息并在 UDP 上, 保证订单,但不发货。这对广播有什么不同吗 插座?我需要自己处理拆分消息吗?

感谢您的帮助!

【问题讨论】:

  • 我怀疑它会保证订单。

标签: .net sockets udp protocol-buffers


【解决方案1】:

引用wikipedia:

字段大小设置的理论限制为 65,535 字节

这意味着您不能发送大于 65,535 字节的图像(可能比这小一点)

如果可以,我会在发送图像时避免使用 UDP,因为它不能保证传送或消息顺序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2018-09-19
    相关资源
    最近更新 更多