Передать 4 байта по протоколу UDP - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Юпатов Дмитрий

, Как упростить Ваш пример UDPchat? Задача: сервер выдаёт в цикле таймера для всеобщего пользования постоянно изменяющийся массив, например, из 4 байтов. Пусть это будет время в секундах от ноля часов. Клиент (-ты) тоже в цикле таймера читают эту информацию и отображают на своих формах.

Решение задачи: «Передать 4 байта по протоколу UDP»

textual
Листинг программы
'Цель udp сервера является обнаружение входящих данных, отправляемых от udp клиента.  
'Ключевой особенностью сервера является многопоточность (т. е. они могут обрабатывать сотни одновременных запросов).
'В этом случае, наш сервер должен иметь по крайней мере два потока: 
'один занимается incomming данных udp, и главный поток выполнения может продолжать поддерживать пользовательский интерфейс.
 
Public Class Form1
    Dim receiveBytes As Byte()
    Dim sRemoteIp As String
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'организуем и стартуем отдельный поток для UDP данных
        Dim thdUDPServer = New Thread(New ThreadStart(AddressOf serverThread))
        thdUDPServer.Start()
    End Sub
 
    Public Sub serverThread() 'обработка потока UDP-данных
        Dim udpClient As New Net.Sockets.UdpClient(8080)
        While True
            Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
            receiveBytes = udpClient.Receive(RemoteIpEndPoint)
            sRemoteIp = RemoteIpEndPoint.Address.ToString()
        End While
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            Dim returnData As String = System.Text.Encoding.ASCII.GetString(receiveBytes)
            lbConnections.Items.Add(sRemoteIp + ":" + returnData)
        Catch ex As Exception
        End Try
    End Sub
End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы