39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using Google.Protobuf;
|
||
using Network;
|
||
using Protocol;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
|
||
namespace Test
|
||
{
|
||
public class TcpClientTest : MonoBehaviour
|
||
{
|
||
private async void Start()
|
||
{
|
||
var request = new LoginRequest
|
||
{
|
||
Username = "原神,启动!(通过TCP)",
|
||
Password = "20200928",
|
||
};
|
||
|
||
var requestBytes = new byte[request.CalculateSize()];
|
||
request.WriteTo(requestBytes);
|
||
|
||
var sendBytes = new List<byte>
|
||
{
|
||
(byte)MessageType.LoginRequest
|
||
};
|
||
sendBytes.AddRange(requestBytes);
|
||
|
||
var responseBytes = await UnityTcpClient.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}");
|
||
}
|
||
}
|
||
}
|
||
} |