Skip to content
Mathias Cloet edited this page Feb 6, 2020 · 1 revision

Creating a client

//Regular async client
SimpleSocketClient client = new SimpleSocketTcpClient();
//Ssl async client
//(Certificate will be a .pfx) file
SimpleSocketClient client = new SimpleSocketTcpSslClient("Path to Certificate","Password");

Starts the client

//Start the client
SimpleSocketClient client = new SimpleSocketTcpClient();
String ipServer = "127.0.0.1";
int portServer = 13000;
client.Startclient(ipServer,portServer);

Binding the events The events have to be bound just once per client.

//Events
_client.AuthSuccess += ClientOnAuthSuccess;
_client.AuthFailed += ClientOnAuthFailed;
_client.FileReceiver += ClientOnFileReceiver;
_client.FolderReceiver += ClientOnFolderReceiver;
_client.DisconnectedFromServer += Disconnected;
_client.MessageUpdateFileTransfer += ClientOnMessageUpdateFileTransfer;
_client.MessageUpdate += ClientOnMessageUpdate;
_client.ConnectedToServer += ConnectedToServer;
_client.ClientErrorThrown += ErrorThrown;
_client.MessageReceived += ServerMessageReceived;
_client.MessageSubmitted += ClientMessageSubmitted;
_client.MessageFailed += MessageFailed;
_client.CustomHeaderReceived += CustomHeader;
_client.ObjectReceived += ClientOnObjectReceived;

Methods used to send messages to server

//Send to server
public void SendMessage(string message, bool compress = false, bool encrypt = false, bool close = false);
public async Task SendMessageAsync(string message, bool compress = false, bool encrypt = false, bool close = false);

public void SendBytes(byte[] data, bool compress = false, bool encrypt = false, bool close = false);
public async Task SendBytesAsync(byte[] data, bool compress = false, bool encrypt = false, bool close = false);

public void SendMessageContract(IMessageContract contract, bool compress = false, bool encrypt = false,bool close = false);
public async Task SendMessageContractAsync(IMessageContract contract, bool compress = false, bool encrypt = false, bool close = false);

public void SendCustomHeader(string message, string header, bool compress = false, bool encrypt = false, bool close = false);
public void SendCustomHeader(byte[] data, byte[] header, bool compress = false, bool encrypt = false, bool close = false);
public async Task SendCustomHeaderAsync(string message, string header, bool compress = false, bool encrypt = false, bool close = false);
public async Task SendCustomHeaderAsync(byte[] data, byte[] header, bool compress = false, bool encrypt = false, bool close = false);

public async Task SendFileAsync(string fileLocation, string remoteSaveLocation, bool compress = true, bool encrypt = false, bool close = false);
public void SendFile(string fileLocation, string remoteSaveLocation, bool compress = true, bool encrypt = false, bool close = false);

public async Task SendFolderAsync(string folderLocation, string remoteSaveLocation,bool encrypt = false, bool close = false);
public void SendFolder(string folderLocation, string remoteSaveLocation,bool encrypt = false, bool close = false);

public async Task SendObjectAsync(object obj, bool compress = false, bool encrypt = false, bool close = false);
public void SendObject(object obj, bool compress = false, bool encrypt = false, bool close = false);
Clone this wiki locally