UDP Stats Ответ от игрового сервера - PullRequest
0 голосов
/ 16 марта 2020

Прежде всего, Спасибо, что нашли время и прочитали это до конца. Поскольку я новичок в VB. NET Мне нужна помощь.

Я отправляю команду на игровой сервер UDP "\status\", чтобы получить информацию о выделенном сервере. Теперь я могу отправить команду, но не могу получить ответ от игрового сервера. Мне нужен точный ответ от игрового сервера взамен Wireshark.

Ответ, полученный Wireshark WireShark

ТЕКУЩИЙ КОД :

 Imports System.Net
    Imports System.Text.Encoding
    Imports System.Text

    Public Class Form1
        Dim publisher As New Sockets.UdpClient(9398)
        Dim subscriber As New Sockets.UdpClient(9399)


        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            publisher.Connect(TextBox1.Text, TextBox2.Text)
            Dim sendbytes() As Byte = Encoding.ASCII.GetBytes(TextBox3.Text)
            publisher.Send(sendbytes, sendbytes.Length)
        End Sub

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            subscriber.Client.ReceiveTimeout = 100
            subscriber.Client.Blocking = False
            Try
                Dim ep As IPEndPoint = New IPEndPoint(IPAddress.Any, 0)
                Dim rcvbytes() As Byte = subscriber.Receive(ep)
                TextBox4.Text = Encoding.ASCII.GetString(rcvbytes)
            Catch ex As Exception
            End Try

        End Sub

    End Class

Интерфейс программы:

Form

1 Ответ

1 голос
/ 17 марта 2020

Я бы посоветовал вам использовать BeginReceive

и сделать так, чтобы ваш обратный вызов обрабатывал поступающие данные.

Затем немедленно переделайте свой BeginReceive, чтобы вы были готовы к любым больше данных.

Прием только один раз запускается, поэтому вам потребуется много обработки l oop для получения данных, и, поскольку это только в вашей форме, оно закончено, прежде чем вы отправите запрос в сервер.

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