Udp Размер Буфера

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Udp Размер Буфера

Сообщение strelec » 13.01.2011 (Чт) 12:43

Привет всем ,ест 1 вопрос па поводу размера буфера

Код: Выделить всё
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports System.Threading
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
Dim broadcast As IPAddress = IPAddress.Parse("217.11.160.16")
Dim ep As New IPEndPoint(broadcast, 27015)

Try
Do While True
If s.Connected Then
Dim sendbuf(255) As Byte
s.Receive(sendbuf)
send_server(sendbuf)
Else
s.Connect(ep)
End If

Loop
Catch ex As Exception
Console.WriteLine(ex.ToString)
c1.Abort()
z1.Abort()
End Try


вот когда я создаю сенбаф размером 255 бывает что оно больше чем надо. мне надо знать заранее какой число байтов пришло.
на тсп сокете это делает

Код: Выделить всё
Dim sendbuf(s.Available) As Byte

прошу подсказать что писать место s.Available ?

ошибку выдает такой
System.Net.Sockets.SocketException: Сообщение, отправленное на сокет датаграмм,
было больше, чем буфер внутренних сообщений или был превышен иной сетевой параме
тр. Также возможно, что буфер для принятия сообщения был меньше, чем размер сооб
щения

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Udp Размер Буфера

Сообщение FireFenix » 14.01.2011 (Пт) 22:25

s.Available показывает доступное количество данных в сетевом буфере и естественно к тому времени, когда буффер будет прочитан, количество данных может изменится
Создай один раз массив длинной s.ReceiveBufferSize и потом работай с данными длинной s.Receive

И незачем было создавать дублирующую тему!
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

    TopList  
cron