- Код: Выделить всё
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: Сообщение, отправленное на сокет датаграмм,
было больше, чем буфер внутренних сообщений или был превышен иной сетевой параме
тр. Также возможно, что буфер для принятия сообщения был меньше, чем размер сооб
щения