More logs
parent
b7f44b5215
commit
c8472e0670
|
|
@ -16,15 +16,36 @@ ConcurrentDictionary<Guid, List<int>> clientsWatchingGameId = new ConcurrentDict
|
||||||
BufferRental bufferRental = new BufferRental(4096);
|
BufferRental bufferRental = new BufferRental(4096);
|
||||||
|
|
||||||
udpServer.QueryIpAndPort += (clientId, ip, port) =>
|
udpServer.QueryIpAndPort += (clientId, ip, port) =>
|
||||||
{
|
{
|
||||||
var messageData = bufferRental.Rent();
|
Console.WriteLine($"{DateTime.Now}: [TcpServer] sending QueryExternalPortAndIp result for lobby client id {clientId} with {ip}:{port}");
|
||||||
var seenExternalIpAndPort = new SeenExternalIpAndPort() { Ip = ip, Port = port };
|
byte[]? messageData = null;
|
||||||
var messageDataLength = seenExternalIpAndPort.Serialize(messageData);
|
|
||||||
_ = Task.Run(async () =>
|
try
|
||||||
{
|
{
|
||||||
await tcpServer.Send(clientId, messageData, 0, messageDataLength);
|
messageData = bufferRental.Rent();
|
||||||
bufferRental.Return(messageData);
|
var seenExternalIpAndPort = new SeenExternalIpAndPort() { Ip = ip, Port = port };
|
||||||
});
|
var messageDataLength = seenExternalIpAndPort.Serialize(messageData);
|
||||||
|
_ = Task.Run(async () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await tcpServer.Send(clientId, messageData, 0, messageDataLength);
|
||||||
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{DateTime.Now}: [TcpServer] error in QueryExternalPortAndIp result for lobby client id {clientId} with {ip}:{port}: {ex.ToString()}");
|
||||||
|
}
|
||||||
|
|
||||||
|
bufferRental.Return(messageData);
|
||||||
|
messageData = null;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"{DateTime.Now}: [TcpServer] error in QueryExternalPortAndIp result for lobby client id {clientId} with {ip}:{port}: {ex.ToString()}");
|
||||||
|
if (messageData != null)
|
||||||
|
bufferRental.Return(messageData);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
tcpServer.DataReceived += (clientId, dataLength, data) =>
|
tcpServer.DataReceived += (clientId, dataLength, data) =>
|
||||||
|
|
|
||||||
|
|
@ -36,11 +36,13 @@ namespace LobbyServer
|
||||||
var receiveResult = await serverSocket.ReceiveAsync(cancellationTokenSource.Token);
|
var receiveResult = await serverSocket.ReceiveAsync(cancellationTokenSource.Token);
|
||||||
if(receiveResult.Buffer.Length > 0)
|
if(receiveResult.Buffer.Length > 0)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine($"{DateTime.Now}: [UdpCandidateServer] received packet");
|
||||||
Memory<byte> receivedData = new Memory<byte>(receiveResult.Buffer);
|
Memory<byte> receivedData = new Memory<byte>(receiveResult.Buffer);
|
||||||
switch (LobbyMessageIdentifier.ReadLobbyMessageIdentifier(receivedData.Span))
|
switch (LobbyMessageIdentifier.ReadLobbyMessageIdentifier(receivedData.Span))
|
||||||
{
|
{
|
||||||
case QueryExternalPortAndIp.TypeId:
|
case QueryExternalPortAndIp.TypeId:
|
||||||
var queryExternalPortAndIp = QueryExternalPortAndIp.Deserialize(receivedData.Span);
|
var queryExternalPortAndIp = QueryExternalPortAndIp.Deserialize(receivedData.Span);
|
||||||
|
Console.WriteLine($"{DateTime.Now}: [UdpCandidateServer] received QueryExternalPortAndIp for lobby client id {queryExternalPortAndIp.LobbyClientId} from {receiveResult.RemoteEndPoint.Address.ToString()}:{receiveResult.RemoteEndPoint.Port}");
|
||||||
QueryIpAndPort?.Invoke(queryExternalPortAndIp.LobbyClientId, receiveResult.RemoteEndPoint.Address.ToString(), receiveResult.RemoteEndPoint.Port);
|
QueryIpAndPort?.Invoke(queryExternalPortAndIp.LobbyClientId, receiveResult.RemoteEndPoint.Address.ToString(), receiveResult.RemoteEndPoint.Port);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue