2025-08-30 21:25:17 +08:00
|
|
|
|
using Google.Protobuf;
|
2025-08-29 12:28:33 +08:00
|
|
|
|
using Network;
|
2025-08-30 21:25:17 +08:00
|
|
|
|
using Protocol;
|
|
|
|
|
using System.Collections.Generic;
|
2025-08-29 12:28:33 +08:00
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Test
|
|
|
|
|
{
|
|
|
|
|
public class UdpClientTest : MonoBehaviour
|
|
|
|
|
{
|
|
|
|
|
private async void Start()
|
|
|
|
|
{
|
2025-08-30 21:25:17 +08:00
|
|
|
|
var request = new LoginRequest
|
|
|
|
|
{
|
|
|
|
|
Username = "原神,启动!(谁会通过UDP启动啊喂!)",
|
|
|
|
|
Password = "20200928",
|
|
|
|
|
};
|
2025-08-29 12:28:33 +08:00
|
|
|
|
|
2025-08-30 21:25:17 +08:00
|
|
|
|
var requestBytes = new byte[request.CalculateSize()];
|
|
|
|
|
request.WriteTo(requestBytes);
|
2025-08-29 12:28:33 +08:00
|
|
|
|
|
2025-08-30 21:25:17 +08:00
|
|
|
|
var sendBytes = new List<byte>
|
|
|
|
|
{
|
|
|
|
|
(byte)MessageType.LoginRequest
|
|
|
|
|
};
|
|
|
|
|
sendBytes.AddRange(requestBytes);
|
|
|
|
|
|
|
|
|
|
var responseBytes = await UnityUdpClient.Instance.SendAndReceiveData(sendBytes.ToArray());
|
|
|
|
|
|
|
|
|
|
if (responseBytes.Length == 0) return;
|
|
|
|
|
else if (responseBytes[0] == (byte)MessageType.LoginResponse)
|
|
|
|
|
{
|
|
|
|
|
var response = LoginResponse.Parser.ParseFrom(responseBytes[1..]);
|
|
|
|
|
|
|
|
|
|
Debug.Log($"Received response: {response}");
|
|
|
|
|
}
|
2025-08-29 12:28:33 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|