DOT Net Программирование Ошибка размера буфера UDP - PullRequest
0 голосов
/ 11 мая 2011

Я пытаюсь отправить изображение (байт []) через широковещательный сокет UDP. я получить следующую ошибку, утверждая, что мое сообщение больше, чем внутренний буфер сообщений.

Необработанное исключение типа 'System.Net.Sockets.SocketException' произошло в System.dll

Дополнительная информация: сообщение, отправленное на сокете дейтаграммы, было больше чем внутренний буфер сообщений или какой-то другой предел сети, или буфер, используемый для приема дейтаграммы, был меньше, чем датаграмма Сам

Посмотрев вокруг Google, у меня сложилось впечатление, что это общая ошибка winsock, а не то, что напрямую связано с .net реализация. Я думал, что если сообщение было больше, чем внутренний буфер, winsock разбил бы сообщение и по UDP, гарантийный заказ, но не доставка. Это отличается для трансляции разъем? Нужно ли мне самому разбирать сообщение?

Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 11 мая 2011

Цитата из Википедии :

Размер поля устанавливает теоретический предел в 65 535 байт.

Это означает, что вы не можете отправлять изображения размером более 65 535 байт (возможно, немного меньше)

Я бы избегал UDP, если бы мог при отправке изображений, так как это не гарантирует доставку или порядок сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...