Arci.Networking
Arci.Networking.Client Class Reference

Client instance More...

Inheritance diagram for Arci.Networking.Client:

Public Member Functions

 Client (TcpClient client)
 Creates new instance More...
 
void SendPacket (Packet packet)
 Sends packet to server More...
 
void SendPacket (Packet packet, bool encrypt)
 Sends packet to server More...
 
async Task SendPacketAsync (Packet packet)
 Sends packet to server asynchronously More...
 
async Task SendPacketAsync (Packet packet, bool encrypt)
 Sends packet to server asynchronously More...
 
IEnumerable< PacketReceiveData (bool decrypt)
 Receive data as a list of packets from server More...
 
async Task< IEnumerable< Packet > > ReceiveDataAsync (bool decrypt)
 Receive data as a list of packets from server More...
 
async Task< IEnumerable< Packet > > ReceiveDataAsync (bool decrypt, CancellationToken? token)
 Receive data as a list of packets from server More...
 
byte [] ReceiveData ()
 Receives data as byte stream More...
 
async Task< byte[]> ReceiveDataAsync ()
 Receives data as byte stream asynchronously More...
 
async Task< byte[]> ReceiveDataAsync (CancellationToken? token)
 Receives data as byte stream asynchronously More...
 
void Dispose ()
 Free all resources More...
 

Static Public Member Functions

static async Task< ClientCreateAsync (string server, int port)
 Creates new network instance More...
 

Properties

ISymmetricEncryptor Encryptor [get, set]
 Symmetric encryptor More...
 

Detailed Description

Client instance

Constructor & Destructor Documentation

§ Client()

Arci.Networking.Client.Client ( TcpClient  client)
inline

Creates new instance

Parameters
clientTcpClient connected to the server

Member Function Documentation

§ CreateAsync()

static async Task<Client> Arci.Networking.Client.CreateAsync ( string  server,
int  port 
)
inlinestatic

Creates new network instance

Parameters
serverIp adress of the server
portPort of the server
Returns
New instance of client

§ Dispose()

void Arci.Networking.Client.Dispose ( )
inline

Free all resources

§ ReceiveData() [1/2]

IEnumerable<Packet> Arci.Networking.Client.ReceiveData ( bool  decrypt)
inline

Receive data as a list of packets from server

Parameters
decryptDecrypt data with Aes key if set
Returns
List of packets received from server. If there are no data to receive null is returned

§ ReceiveData() [2/2]

byte [] Arci.Networking.Client.ReceiveData ( )
inline

Receives data as byte stream

Returns
Byte stream of received data. If there are no data to receive null is returned

§ ReceiveDataAsync() [1/4]

async Task<IEnumerable<Packet> > Arci.Networking.Client.ReceiveDataAsync ( bool  decrypt)

Receive data as a list of packets from server

Parameters
decryptDecrypt data with Aes key if set
Returns
List of packets received from server. Blocks thread until data become available.

§ ReceiveDataAsync() [2/4]

async Task<IEnumerable<Packet> > Arci.Networking.Client.ReceiveDataAsync ( bool  decrypt,
CancellationToken?  token 
)
inline

Receive data as a list of packets from server

Parameters
decryptDecrypt data with Aes key if set
tokenToken to cancel awaited reading
Returns
List of packets received from server. Blocks thread until data become available.

§ ReceiveDataAsync() [3/4]

async Task<byte[]> Arci.Networking.Client.ReceiveDataAsync ( )

Receives data as byte stream asynchronously

Returns
Byte stream of received data. Blocks thread until data become available.

§ ReceiveDataAsync() [4/4]

async Task<byte[]> Arci.Networking.Client.ReceiveDataAsync ( CancellationToken?  token)
inline

Receives data as byte stream asynchronously

Parameters
tokenToken to cancel awaited reading
Returns
Byte stream of received data. Blocks thread until data become available.

§ SendPacket() [1/2]

void Arci.Networking.Client.SendPacket ( Packet  packet)

Sends packet to server

Parameters
packetPacket to send

§ SendPacket() [2/2]

void Arci.Networking.Client.SendPacket ( Packet  packet,
bool  encrypt 
)
inline

Sends packet to server

Parameters
packetPacket to send
encryptEncrypts data with Aes key if set

§ SendPacketAsync() [1/2]

async Task Arci.Networking.Client.SendPacketAsync ( Packet  packet)

Sends packet to server asynchronously

Parameters
packetPacket to send

§ SendPacketAsync() [2/2]

async Task Arci.Networking.Client.SendPacketAsync ( Packet  packet,
bool  encrypt 
)
inline

Sends packet to server asynchronously

Parameters
packetPacket to send
encryptEncrypts data with Aes key if set

Property Documentation

§ Encryptor

ISymmetricEncryptor Arci.Networking.Client.Encryptor
getset

Symmetric encryptor