添加client
This commit is contained in:
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();
|
||||
|
||||
Reference in new issue
Block a user