Refactor server socket management for Linux support.

This commit is contained in:
Christian Kratky
2018-06-09 15:31:47 +02:00
parent 9e318fc40d
commit e62316105f
24 changed files with 229 additions and 185 deletions
@@ -13,7 +13,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.NetStandard.csproj" />
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.csproj" />
</ItemGroup>
</Project>
@@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Pipelines;
using System.Net;
@@ -21,7 +20,7 @@ namespace MQTTnet.Benchmarks.Tcp
public TcpConnection(EndPoint endPoint)
{
_socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_endPoint = endPoint;
_sender = new SocketSender(_socket, PipeScheduler.ThreadPool);
@@ -13,7 +13,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.NetStandard.csproj" />
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.csproj" />
</ItemGroup>
</Project>
@@ -16,7 +16,7 @@
<ItemGroup>
<ProjectReference Include="..\..\Extensions\MQTTnet.Extensions.ManagedClient\MQTTnet.Extensions.ManagedClient.csproj" />
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.NetStandard.csproj" />
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.csproj" />
</ItemGroup>
</Project>
@@ -18,6 +18,7 @@ namespace MQTTnet.TestApp.NetCore
var concurrent = Console.ReadKey(true).KeyChar == 'c';
var server = Task.Run(RunServerAsync);
await Task.Delay(1000);
var client = Task.Run(() => RunClientAsync(2000, TimeSpan.FromMilliseconds(10), concurrent));
await Task.WhenAll(server, client).ConfigureAwait(false);
@@ -135,9 +135,9 @@
<Project>{c444e9c8-95fa-430e-9126-274129de16cd}</Project>
<Name>MQTTnet.Extensions.Rpc</Name>
</ProjectReference>
<ProjectReference Include="..\..\Frameworks\MQTTnet.Netstandard\MQTTnet.NetStandard.csproj">
<ProjectReference Include="..\..\Frameworks\MQTTnet.NetStandard\MQTTnet.csproj">
<Project>{3587e506-55a2-4eb3-99c7-dc01e42d25d2}</Project>
<Name>MQTTnet.NetStandard</Name>
<Name>MQTTnet</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>