Coder Social home page Coder Social logo

network's People

Contributors

aidenpearce79 avatar azure-pipelines[bot] avatar mblenczewski avatar n3wt0n avatar toemsel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

network's Issues

Object-Driven Example 'System.ArgumentException'

  1. Start the example client and server
  2. Choose the "UnSecure" server option
  3. Choose the "Object driven example" client option

1/5 times an exception occurs.

Exception has occurred: CLR/System.ArgumentException
Exception thrown: 'System.ArgumentException' in System.Private.CoreLib.dll: 'Must specify valid information for parsing in the string.'
   at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
   at Network.Converter.PacketConverter.DeserialiseObjectFromReader(Object obj, PropertyInfo propertyInfo, BinaryReader binaryReader) in /home/lord/Dev/Network/Network/Network/Converter/PacketConverter.cs:line 358

alt text

Interesting is, that the variable "bla" is empty in 1/5 times. Either there is an issue while serializing or deserializing.

Getting 'The operation was canceled' in InvokeWork()

at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Network.Connection.InvokeWork() in C:\Users\Kyle\Desktop\tol\Network\Network\Connection.cs:line 680

Followed by:

System.ObjectDisposedException
HResult=0x80131622
Message=Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
Source=System.Net.Sockets
StackTrace:
at System.Net.Sockets.Socket.get_Available()
at System.Net.Sockets.TcpClient.get_Available()
at Network.TcpConnection.ReadBytes(Int32 amount) in
TcpConnection.cs:line 153

The client is in Unity while the server is running in .Net Core 2.0. I'm on the no bluetooth branch. All the exceptions are on the server. It seems some data is passed between the two (including the massive initial packet I send) before this happens.

Compiling w/o supporting .net 3.5

Hello

So after compiling a .net 4.7.2 project it seems the bluetooth dependency compiles 2 libraries in .net 3.5 - InTheHand.dll and InTheHand.Devices.Bluetooth.Dll

Is it possible to remove the bluetooth dependency ? In this case its a project that will not run well in 3.5, its a Unity3D project.

We trying to import the network library inside Unity.

Thanks alot for any attention

StopTCPListener trying to access a disposed object

While running this code (only for testing purposes of course) I get a disposed object access on the StopTCPListener call. removing this calls makes the code run flawlessly (without stopping the listener of course)

    serverConnectionContainer = ConnectionFactory.CreateServerConnectionContainer(Constants.Ports.VenueTCPReceiverPort);

    serverConnectionContainer.ConnectionLost += (a, b, c) => Console.WriteLine($"{serverConnectionContainer.Count} {b.ToString()} Connection lost {a.IPRemoteEndPoint.Port}. Reason {c.ToString()}");
    serverConnectionContainer.ConnectionEstablished += ReceivedConnectionHandler;

    serverConnectionContainer.CloseTCPConnections(CloseReason.ServerClosed);
    serverConnectionContainer.StopTCPListener();

Question about AllowUDPConnections

Hi, just wondering about AllowUDPConnections set to false, why tcpconnection close and re open.
It's a bug or intended ?
If not a bug, why close and open again the tcpconnection ?

21a292ec8992a3b863bb016d1ce522cb

Nuget Dependencies

I've started work on another project using your Network library, and I'm trying to use the Nuget version, but I'm not able to resolve dependencies:

Attempting to resolve dependencies for package 'Network.5.2.2.6' with DependencyBehavior 'Lowest'
Unable to resolve dependency 'InTheHand.Devices.Bluetooth'. Source(s) used: 'nuget.org', 'Microsoft Visual Studio Offline Packages'.

Now, I can ignore this dependency and just install it, but then I can't get it to run due to the missing dependency (even if I don't want to use Bluetooth). Is there a way I can disable Bluetooth so I don't have to have this dependency while still using the Nuget library?

Previously I have just downloaded InTheHand.Devices.Bluetooth from github and manually referenced it.

Lib Refactoring - Partial Classes should use Partial Methods

When a partial class is declared, methods to be implemented elsewhere should be declared within the main class file as a partial method.

This affects Connection.cs solely, as its the only partial class.
Declaration in Connection.cs (Old style):

internal void Init()
{
    InitAddons();
    ...
}

And in ConnectionAddons.cs (Old style):

private void InitAddons()
{
    ...
}

Declaration in Connection.cs (New style):

partial void InitAddons();

internal void Init()
{
    InitAddons();
    ...
}

And in ConnectionAddons.cs (New style):

partial void InitAddons()
{
    ...
}

New declaration would use a partial method to improve code understanding for newcomers and for people who are browsing the library. They would instantly know that the InitAddons method is declared in the partial class, rather than looking for it in vain in Connection.cs.

Close Reason AssemblyDoesNotExist

Hi! While testing this library I noticed that it fails sending/receiving custom made class packets with the AssemblyDoesNotExist message. The source code for the failing project is here.
The code is nothing else but basically the one provided in the examples section.
The library is used to comunicate between a desktop server(DesktopServer.cs) and xamarin.android client(MainActivity.cs).
Sending raw data works well on the other hand.

How do I close the connection nicely?

If I do the following in the Client:

tcpConnection.Close(Network.Enums.CloseReason.ClientClosed);

it closes the connection but the connection remains there, you can see that in Process Hacker in Network tab. Any solution for this?

AES Support

Use existing RSA to establish a AES secured connection.

Encryption

I've been looking for a library that does pretty much exactly this. I wanted the ability to serialize as well as send raw. I'm super excited to give this library a try and very thankful you've created it!

One thing I think it's missing, and it may be out of your scope, but do you have any plans on implementing encryption? Unfortunately, the complexity of your code is above my current skill level and I am unable to see a simple way of adding the encryption myself.

Ideally, I'd like to pass an RSAParameters to the server and have it send the modulus and exponent to the client which then encrypts an AES and HMAC key with the received public key, sends it back to the server, and initializes AES for all incoming packets from that client. This could happen transparently, decrypting the packet before any of the handlers are called if it were implemented into the library.

It looks to me like it could go in ReadWork (Connection.cs), just before reading the packetType, Length, and Data. However, ReadBytes seems to only have the ability to remove the read bytes.

With my current skill level, I don't think I'd be able to do this justice and would likely have to resort to encrypting the raw packets only or finding another library that at the very least implements AES, and do the key exchange manually.

Again, thanks for taking the time to write this and taking the time to read my request!

RegisterStaticPacketHandler in ClientConnectionContainer only works on the first declared handler

The code is as follows

        static void Main(string[] args) {

            //1. Establish a connection to the server.
            container = ConnectionFactory.CreateClientConnectionContainer("127.0.0.1", 5560);
            //2. Register what happens if we get a connection
            container.ConnectionEstablished += ConnectionEstablished;
            container.AutoReconnect = false;
            container.ConnectionLost += Container_ConnectionLost;

            Console.ReadKey();

        }

private static void ConnectionEstablished(Connection connection, ConnectionType type) {
            Console.WriteLine($"{type.ToString()} Connection established to 
{connection.IPRemoteEndPoint}");

            //Register Packet Handler for the types of incoming data

            connection.ConnectionClosed += (CR, C) => { Console.WriteLine($"{CR} {C}"); };

            
            connection.RegisterStaticPacketHandler<ResponsePacket1>(async (p, c) => {
                Console.WriteLine("ResponsePacket1");

            });

            connection.RegisterStaticPacketHandler< ResponsePacket2>(async (p, c) => {

                Console.WriteLine("ResponsePacket2");

            });
connection.Send(new RequestPacket1());

connection.Send(new RequestPacket2());

the server reads and send the packet fine but when client gets a response only the first declared handler is called
Any help as to why this doesn’t work would be greatly appreciated

CPU utilization by Network.Logging.NetworkLog

I'm using library for transferring large amounts of raw data and explicitly disabled logging for all connections by setting Connection.EnableLogging to false.
The problem is that profiler still shows great cpu consumption in Network.Logging.NetworkLog.LogPacket function. This happens because of Log(tableOutPut.ToStringAlternative()) which allways calls ToStringAlternative() method (before checking EnableLogging).
Profiler data shows that the method uses about 50% of cpu.

ConnectionLost Example / Issue

In any trivial example, including the ones from the docs, if I have a client and server, both with ConnectionLost event handlers set, these are never called. If I kill the client with the server connected (which works fine and is sending data) or with the client connected and I kill the server, it just waits and nothing happens. Tested on Windows, Linux, Mac. Am I missing something? Is there a complete example showing where it works as for me the example for the docs does not show connection lost either when the client is gone.

Timeout Bug

if i am trying to send a big byte array(3 mb) using connection.SendRawData(key, data[]); the client is disconnecting for the reason timeout

Lib Refactoring - Readonly Fields

A lot of the fields in many classes are not marked readonly but assigned at instantiation and never touched again. An example would be Connection.requestResponseMap. Here it should never be reassigned (we would lose all registered response packets). Thus it should be clearly marked as such, with the 'readonly' keyword. In fact, all similar fields should also be marked with 'readonly'.

Disable UDP connection in ServerConnectionContainer leads to an inoperational TCP connection

The ClientConnectionContainer forces UDP and TCP.
The ServerConnectionContainer on the other hand is able to disable UDP. If the ClientConnectionContainer starts a UDP connection, the TCP connection will be killed server-side. No communication is possible.

The ServerConnectionContainer only needs to drop the UDP connection.
The ClientConnectionContainer needs to ask for UDP permission before starting one.

Lib Refactoring - Object Initialiser Syntax

Throughout the library, objects are instantiated and their properties later edited on multiple lines before the object is even used. These can be converted to object initialiser syntax:

For example, Connection.cs.
Old style (More verbose):

readStreamThread = new Thread(ReadWork);
readStreamThread.Priority = ThreadPriority.Normal;
readStreamThread.Name = $"Read Thread {IPLocalEndPoint.AddressFamily.ToString()}";
readStreamThread.IsBackground = true;

New style (Less verbose):

readStreamThread = new Thread(ReadWork)
{
    IsBackground = true,
    Priority = ThreadPriority.Normal,
    Name = $"Read Thread {IPLocalEndPoint.AddressFamily.ToString()}"
}

The new syntax is cleaner and less verbose, so helps with readability. Also it looks pretty :)

RSA won't work in the UI thread.

Funny thing. In WPF Application (client) we have to start connection in a new thread or exception will happen on server side.

tried on new wpf project with same code as on console proejct.
https://pastebin.com/dHyDBePh
^ here is Client class code, its simple connection without any packet handler. New thread works for me.

Assembly doesnt exist when deploying on Android device

The app that works perfectly when deployed on emulator but when deployed on device the connection closes with assembly doesnt exist error Note the packets are defined in the external lib both Android app and windows form server app reference tested both Net framework clasic lib and net standard lib but it doesn't work

KeyNotFound while using RawData

  1. Create a TcpConnection
  2. Register a raw packet handler
  3. InvokePacketThreadException gets raised.

Between point 1. and 2. the server may already send a packet with the rawData key provided within step two. However, the client doesn't have that key yet. Due to the Dict impl. following exception will be risen:

{System.Collections.Generic.KeyNotFoundException: The given key 'LoginServerRequestHandshake1' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in /Dictionary.cs:226
at Network.Utilities.PacketHandlerMap.get_Item (System.String key) [0x00000] in PacketHandlerMap.cs:46
at Network.Connection.HandleDefaultPackets (Network.Packets.Packet packet) [0x003c0] in k\Connection.cs:851
at Network.Connection.InvokeWork () [0x00033] in \Connection.cs:669 }

Code

Expected behaviour:

  • Buffer packet OR
  • Ignore the packet

Add detailed error information on ConnectionContainer

No exceptions are printed to the console and no exception object is propagated to the exposed API. This makes it difficult to determine why the connection/request is failing. The CloseReason is not enough information to adequately debug.

For example, I am performing this operation on an established connection:
var result = await clientContainer.SendAsync<TestResponse>(request);
It is erroring somewhere, and I have no idea why, the ConnectionLost event is raised with CloseReason.NetworkError and I get an empty TestResponse object, but that is all the information I have.

Is there any way to receive more detailed information on why a SendAsync call on a ConnectionContainer is failing? Perhaps being able to subscribe to an ErrorOccurred event or something similar?

*Edit
To clarify, I am not asking for help on debugging this particular error, I figured out what I was doing wrong. Just suggesting that the debugging process could be made less painful.

connection.send kill the connection

Hi,
i want to send some data and everythime the client kill the connection with the reason:
// Zusammenfassung: // The assembly for the incoming packet is not available. Make sure that every project // is including that assembly. AssemblyDoesNotExist = 12

`// Clientcreation in the mainWindow
client = ConnectionFactory.CreateClientConnectionContainer(IP, Port);
client.ConnectionEstablished += verbunden;

// connected
private void verbunden (Connection co, ConnectionType type)
{
statusmeldung("Status: Verbindung zum Server steht");
if (type == ConnectionType.TCP)
{
connection = co;
connection.ConnectionClosed += verbindung_beendet;
connection.RegisterPacketHandler<translation_text>(Empfange_uebersetzung, this);
}

    }

//the sending of the data
private void Button_Click(object sender, RoutedEventArgs e)
{
translation_text temp = new translation_text();
temp.s_original = tb_1.Text;
temp.s_original_sprache = " ";
temp.s_translate = " ";
connection.Send(temp,connection);
lbl_status.Content = "Status: Es wird nach einer Übersetzung in der Datenbank gesucht ...";
}

// and the class who i want to send
public class translation_text : RequestPacket
{
public string s_original { get; set; }
public string s_translate { get; set; }
public string s_original_sprache { get; set; }
}
`

thank you

Edit: Report fom logging:
+-----------+---------------+---------------------+-----------------------------------------------------------------------------+----------------------+
| Direction | Type | Local | ASCII | Packet |
+-----------+---------------+---------------------+-----------------------------------------------------------------------------+----------------------+
| Outgoing | TcpConnection | 192.168.11.10:53439 | ?H??bersetzungstool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null? | AddPacketTypeRequest |
+-----------+---------------+---------------------+-----------------------------------------------------------------------------+----------------------+

+-----------+---------------+---------------------+------------------------+--------------+
| Direction | Type | Local | ASCII | Packet |
+-----------+---------------+---------------------+------------------------+--------------+
| Incoming | TcpConnection | 192.168.11.10:53439 | �AssemblyDoesNotExist? | CloseRequest |
+-----------+---------------+---------------------+------------------------+--------------+

Fehlermeldung beim Senden // WritePacketThreadException

Hallo :)
ich bekommen wenn ich eine Klasse von meinem "Server" an meinem "Client" senden möchte die Fehlermeldung "WritePacketThreadException" und die TCP-Verbindung (über ConnectionFactory.CreateSecureClientConnectionContainer (S_IP, S_port, 2048); aufgebaut) bricht ab.

Problemklasse:
public class Nutzer2 : RequestPacket { public string id { get; set; } public string Nutzername { get; set; } public string Anzeigename { get; set; } //public byte[] Nutzerlogo { get; set; } public string Nutzerebene { get; set; } public string Passwort { get; set; } public string Bemerkung { get; set; } [PacketIgnoreProperty] public bool valide { get; set; } public Nutzer2() { this.Anzeigename = null; this.Passwort = null; this.id = null; this.Nutzername = null; this.Nutzerebene = null; this.Bemerkung = null; this.valide = false; } }

Was aber dagegen problemlos funktioniert ist:
`public class chat_message : RequestPacket
{
public string _nachricht { get; set; }
public chat_message()
{

    }


    public chat_message(string temp)
    {
        this._nachricht = temp;
    }
    public string get_message()
    {
        return _nachricht;
    }
}`

leider habe ich keine Idee woran das liegen könnte, bzw. wie ich den Fehler herausfinden kann

Question about key

If i want to send a rawdata to a completely different server which doesnt use this library, do I hve to give a key? Should i make it an empty string?

Lib Cleaning - Cleaning up internal API

Affecting mainly Connection.cs and UdpConnection.cs (that ive seen so far). In internal methods there are remenants of a write lock (in parameters and unused fields or properties). Im assuming this is from the now-obsolete connection locking feature. These should be removed (or at least marked Obsolete) for the next release, so as to simplify and clean up the internal API.

Examples not working :(

I started writing a game server using this library. I used another library for this, however after i swapped up i noticed packets were not being recieved.

I wrote a small test code following the examples to see if i did something wrong and it seems the example code is not working, or maybe i missed something very important.

This is the test code im using. Server never recieces the client request, no errors.

        private ServerConnectionContainer serverConnectionContainer = null;
        private ClientConnectionContainer clientContainer;

        public void SetupClient()
        {
            //1. Establish a connection to the server.
            clientContainer = ConnectionFactory.CreateClientConnectionContainer("127.0.0.1", 4444);
            clientContainer.ConnectionEstablished += clientConectionOk;
        }

        public void SetupServer()
        {
            serverConnectionContainer = ConnectionFactory.CreateServerConnectionContainer(4444, false);
            serverConnectionContainer.ConnectionEstablished += serverRecievedClient;
            //serverConnectionContainer.AllowUDPConnections = true;
            serverConnectionContainer.Start();
        }

        // CLIENT
        private void clientConectionOk(Connection connection, ConnectionType type)
        {
           
            clientContainer.RegisterPacketHandler<CalculationResponse>(calculationResponseReceived, this);
            connection.Send(new CalculationRequest(10, 10), this);
        }
        private void calculationResponseReceived(CalculationResponse response, Connection connection)
        {
            var result = response.Result;
            Console.WriteLine($"Answer received {response.Result}");
        }

        // SERVER
        private void serverRecievedClient(Connection connection, ConnectionType type)
        {
            connection.RegisterStaticPacketHandler<CalculationRequest>(calculationReceived);
        }
        private static void calculationReceived(CalculationRequest packet, Connection connection)
        {
            connection.Send(new CalculationResponse(packet.X + packet.Y, packet));
        }

        // MYN TEST
        [Test]
        public void Test()
        {
            SetupServer();
            SetupClient();

            //clientContainer.Send(new CalculationRequest(1, 5), ConnectionType.TCP);
        }

```

Issue with sending large packets

Sending larger packets causes connection issues with SecureServer/Client sometimes. It appears to be UDP most of the time, and only on larger packets (100KB~ or more). It throws the following exceptions:

For clarification, I added a test string to the packet and filled it with 100,000+ characters.

image

Exception thrown: 'System.Collections.Generic.KeyNotFoundException' in mscorlib.dll
Exception thrown: 'System.Collections.Generic.KeyNotFoundException' in mscorlib.dll
Exception thrown: 'System.Net.Sockets.SocketException' in System.dll
Exception thrown: 'System.Threading.ThreadAbortException' in mscorlib.dll
Exception thrown: 'System.Threading.ThreadAbortException' in Network.dll

image image

Task canceled error while using secure connection

When I'm using secure connection, as soon as I connect client to server, the server throw a Task canceled error. Here is the trace that appear in the console. If you need more info, just ask me.



'PulsarWindowsService.exe' (CLR v4.0.30319: PulsarWindowsService.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\System.Transactions.resources.dll'. Module was built without symbols.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Exception non prise en charge</Description><AppDomain>PulsarWindowsService.exe</AppDomain><Exception><ExceptionType>System.Threading.Tasks.TaskCanceledException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Une tâche a été annulée.</Message><StackTrace>   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Async.ChickenReceiver.&amp;lt;Send&amp;gt;d__2`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Connection.&amp;lt;SendAsync&amp;gt;d__108`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.RSA.RSAConnection.&amp;lt;ExchangePublicKeys&amp;gt;d__39.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   à System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   à System.Threading.ThreadPoolWorkQueue.Dispatch()
   à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</StackTrace><ExceptionString>System.Threading.Tasks.TaskCanceledException: Une tâche a été annulée.
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Async.ChickenReceiver.&amp;lt;Send&amp;gt;d__2`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Connection.&amp;lt;SendAsync&amp;gt;d__108`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.RSA.RSAConnection.&amp;lt;ExchangePublicKeys&amp;gt;d__39.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   à System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   à System.Threading.ThreadPoolWorkQueue.Dispatch()
   à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</ExceptionString></Exception></TraceRecord>
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Exception non prise en charge</Description><AppDomain>PulsarWindowsService.exe</AppDomain><Exception><ExceptionType>System.Threading.Tasks.TaskCanceledException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Une tâche a été annulée.</Message><StackTrace>   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Async.ChickenReceiver.&amp;lt;Send&amp;gt;d__2`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Connection.&amp;lt;SendAsync&amp;gt;d__108`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.RSA.RSAConnection.&amp;lt;ExchangePublicKeys&amp;gt;d__39.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   à System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   à System.Threading.ThreadPoolWorkQueue.Dispatch()
   à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</StackTrace><ExceptionString>System.Threading.Tasks.TaskCanceledException: Une tâche a été annulée.
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Async.ChickenReceiver.&amp;lt;Send&amp;gt;d__2`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.Connection.&amp;lt;SendAsync&amp;gt;d__108`1.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   à Network.RSA.RSAConnection.&amp;lt;ExchangePublicKeys&amp;gt;d__39.MoveNext()
--- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
   à System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   à System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   à System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   à System.Threading.ThreadPoolWorkQueue.Dispatch()
   à System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</ExceptionString></Exception></TraceRecord>
System.Transactions Critical: 0 : An unhandled exception of type 'System.Threading.Tasks.TaskCanceledException' occurred in mscorlib.dll
Une tâche a été annulée.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.