添加client

This commit is contained in:
sunqinzhe committed 2025-12-15 21:13:59 +08:00
1 parent 5c4c25664d
commit 6256dcb52b
19 files changed
+310 -144

No files matched your search

@@ -18,12 +18,12 @@ namespace GameCore.Network
public int packetJitterMs = 300;
public int packetDropPercentage = 10;
private NetworkDriver CreateDriver()
private NetworkDriver CreateDriver(out NetworkPipeline unreliablePipeline, out NetworkPipeline reliablePipeline)
{
var settings = new NetworkSettings(Allocator.Temp);
settings.WithNetworkConfigParameters(disconnectTimeoutMS: 5000);
settings.WithReliableStageParameters(32);
settings.WithSimulatorStageParameters(32, NetworkParameterConstants.MaxConnectAttempts,
settings.WithSimulatorStageParameters(32, mode: ApplyMode.SentPacketsOnly,
packetDelayMs: packetDelayMs, packetJitterMs: packetJitterMs,
packetDropPercentage: packetDropPercentage);
@@ -31,24 +31,25 @@ namespace GameCore.Network
if (useSimulator)
{
driver.CreatePipeline(typeof(SimulatorPipelineStageInSend));
driver.CreatePipeline(typeof(ReliableSequencedPipelineStage), typeof(SimulatorPipelineStageInSend));
unreliablePipeline = driver.CreatePipeline(typeof(SimulatorPipelineStage));
reliablePipeline = driver.CreatePipeline(typeof(ReliableSequencedPipelineStage), typeof(SimulatorPipelineStage));
}
else
{
driver.CreatePipeline(typeof(ReliableSequencedPipelineStage));
unreliablePipeline = NetworkPipeline.Null;
reliablePipeline = driver.CreatePipeline(typeof(ReliableSequencedPipelineStage));
}
return driver;
}
public NetworkDriver CreateServerDriver(string address)
public NetworkDriver CreateServerDriver(string address, out NetworkPipeline unreliablePipeline, out NetworkPipeline reliablePipeline)
{
var driver = CreateDriver();
var driver = CreateDriver(out unreliablePipeline, out reliablePipeline);
var ok = false;
try
{
if (!NetworkEndPoint.TryParse(address, (ushort)port, out var endpoint))
if (!NetworkEndpoint.TryParse(address, (ushort)port, out var endpoint))
{
return default;
}
@@ -70,10 +71,10 @@ namespace GameCore.Network
}
}
public NetworkDriver CreateClientDriver(string address, out NetworkConnection connection)
public NetworkDriver CreateClientDriver(string address, out NetworkConnection connection, out NetworkPipeline unreliablePipeline, out NetworkPipeline reliablePipeline)
{
var driver = CreateDriver();
if (!NetworkEndPoint.TryParse(address, (ushort)port, out var endpoint))
var driver = CreateDriver(out unreliablePipeline, out reliablePipeline);
if (!NetworkEndpoint.TryParse(address, (ushort)port, out var endpoint))
{
connection = default;
driver.Dispose();