Merge branch 'master' of https://codefirst.iut.uca.fr/git/leap-hit-team/leap-hit-server
continuous-integration/drone/push Build is failing Details

ServerDeployement
Noan07 2 years ago
commit 504d5cf06d

@ -7,6 +7,45 @@ trigger:
- push
steps:
- name: build
image: mcr.microsoft.com/dotnet/sdk:6.0
commands:
- cd code/server
- dotnet workload restore
- dotnet restore Server.sln
- dotnet build Server.sln -c Release --no-restore
- dotnet publish Server.sln -c Release --no-restore -o CI_PROJECT_DIR/build/release
- name: tests
image: mcr.microsoft.com/dotnet/sdk:6.0
commands:
- cd code/server
- dotnet restore Server.sln
- dotnet test Server.sln --no-restore
depends_on: [build]
- name: code-analysis
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dronesonarplugin-dotnet6
commands:
- cd code/server
- dotnet workload restore
- dotnet restore Server.sln
- dotnet sonarscanner begin /k:PongSrv /d:sonar.host.url=$${PLUGIN_SONAR_HOST} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.coverage.exclusions="Tests/**" /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
- dotnet build Server.sln -c Release --no-restore
- dotnet test Server.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage"
- reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport"
- dotnet publish Server.sln -c Release --no-restore -o CI_PROJECT_DIR/build/release
- dotnet sonarscanner end /d:sonar.login=$${PLUGIN_SONAR_TOKEN}
secrets: [ SECRET_SONAR_LOGIN ]
settings:
# accessible en ligne de commande par ${PLUGIN_SONAR_HOST}
sonar_host: https://codefirst.iut.uca.fr/sonar/
# accessible en ligne de commande par ${PLUGIN_SONAR_TOKEN}
sonar_token:
from_secret: SECRET_SONAR_LOGIN
depends_on: [tests]
- name: build-docker-image
image: plugins/docker
settings:

@ -84,7 +84,7 @@ public class PongServer
UdpClient clientSocket = new UdpClient(clientEndPoint);
room.playerHost = new KeyValuePair<Player,UdpClient>(data.Data,clientSocket);
room.nbPlayer++;
room.NbPlayer++;
@ -94,9 +94,9 @@ public class PongServer
room.Port = nextPort;
nextPort++;
// Send connection message to client
// Send port message to client
byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString());
serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint);
@ -110,19 +110,20 @@ public class PongServer
// Assign a unique port to the client
IPEndPoint clientEndPoint = new IPEndPoint(IPAddress.Any, nextPort);
IPEndPoint clientEndPoint = new IPEndPoint(IPAddress.Any, room.Port);
UdpClient clientSocket = new UdpClient(clientEndPoint);
room.playerJoin = new KeyValuePair<Player, UdpClient>(data.Data, clientSocket);
room.nbPlayer++;
room.PropertyChanged += room.OnReadyChanged;
Console.WriteLine("New connection Client from " + remoteEndPoint.ToString());
room.Port = nextPort;
nextPort++;
// Send port message to client
byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString());
serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint);
room.PropertyChanged += room.OnReadyChanged;
room.NbPlayer++;
}

@ -8,6 +8,7 @@ using System.Text;
using System.Threading.Tasks;
using Shared.DTO;
using System.ComponentModel;
using System.Text.Json;
namespace Server
{
@ -31,20 +32,22 @@ namespace Server
public int Port { get; set; }
public int nbPlayer = 0;
public bool maxPlayer
public int NbPlayer
{
get { return nbPlayer >= 2; }
get
{
return nbPlayer;
}
set
{
if (nbPlayer >= 2)
nbPlayer = value;
if (value >= 2)
{
maxPlayer = true;
NotifyPropertyChanged("Ready");
NotifyPropertyChanged("nbPlayer");
}
}
}
private int nbPlayer;
protected void NotifyPropertyChanged(string propertyName)
@ -62,10 +65,6 @@ namespace Server
{
byte[] receivedData = clientSocket1.Receive(ref remoteEndPoint);
string receivedMessage = Encoding.ASCII.GetString(receivedData);
Console.WriteLine("Received from " + remoteEndPoint.ToString() + ": " + receivedMessage);
clientSocket2.Send(receivedData, receivedData.Length, remoteEndPoint);
}
@ -75,13 +74,21 @@ namespace Server
{
Room nbPlayer = sender as Room;
bool maxPlayer = nbPlayer.maxPlayer;
int maxPlayer = nbPlayer.nbPlayer;
//IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, Port);
//UdpClient serverSocket = new UdpClient(serverEndPoint);
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, Port);
UdpClient serverSocket = new UdpClient(serverEndPoint);
if (maxPlayer)
if (maxPlayer == 2)
{
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 3133);
byte[] receivedDataHost = playerHost.Value.Receive(ref remoteEndPoint);
byte[] receivedDataJoin = playerJoin.Value.Receive(ref remoteEndPoint);
playerJoin.Value.Send(receivedDataHost, receivedDataHost.Length, remoteEndPoint);
playerHost.Value.Send(receivedDataJoin, receivedDataJoin.Length, remoteEndPoint);
Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value));

@ -9,6 +9,16 @@ namespace Shared.DTO
public class Informations
{
public Action Action { get; set; }
public string? IdRoom { get; set; }
public long Frame { get; set; }
public string TypeData { get; set; }
public string? IdRoom { get; set; }
public Informations(Action action, long frame, string typeData, string? idRoom = null)
{
Action = action;
Frame = frame;
TypeData = typeData;
IdRoom = idRoom;
}
}
}

@ -10,5 +10,6 @@ namespace Shared.DTO
{
public Informations Informations { get; set; }
public T Data { get; set; }
}
}

Loading…
Cancel
Save