// Client private void Client_Connect(object sender, RoutedEventArgs e) { client = new CavemanTcpClient(ClientConnectIP.Text + ":11500"); client.Events.ClientConnected += Events_ClientConnected; client.Events.ClientDisconnected += Events_ClientDisconnected; client.Connect(5000); }
// Public public void StartTransfer(List <DirectoryItem> itemsToSend, Device device) { if (device == null) { return; } if (IsBusy) { return; } // Copy list to prevent changes while sending items = itemsToSend.Select(item => (DirectoryItem)item.Clone()).ToList(); // Create connection client = new CavemanTcpClient(device.IPAddress.ToString(), port); serverDevice = device; client.Events.ClientConnected += Events_ClientConnected; client.Events.ClientDisconnected += Events_ClientDisconnected; client.Keepalive.EnableTcpKeepAlives = true; client.Keepalive.TcpKeepAliveInterval = 5; client.Keepalive.TcpKeepAliveTime = 5; client.Keepalive.TcpKeepAliveRetryCount = 5; client.Connect(Settings.SettingsData.MaxNetworkPingMs); // TODO Add timeout }
public void TerminateConnection() { if (terminatingConnection || client == null) { return; } terminatingConnection = true; // TODO Cancellation token for sending if (client != null) { client.Disconnect(); client = null; } serverEncryptor = null; serverDevice = null; OnRecordableEvent("Connection terminated.", Console.ConsoleMessageType.Common); terminatingConnection = false; }
static void InitializeClient() { _Client = new CavemanTcpClient("127.0.0.1", 8000, false, null, null); _Client.Logger = Logger; _Client.Events.ClientConnected += (s, e) => { Console.WriteLine("Connected to server"); }; _Client.Events.ClientDisconnected += (s, e) => { Console.WriteLine("Disconnected from server"); }; }
static void InitializeClient() { _Client = new CavemanTcpClient("127.0.0.1", 8000, true, "cavemantcp.pfx", "simpletcp"); _Client.Logger = Logger; _Client.Events.ClientConnected += (s, e) => { Console.WriteLine("Connected to server"); }; _Client.Events.ClientDisconnected += (s, e) => { Console.WriteLine("Disconnected from server"); }; }
static void Main(string[] args) { _Token = _TokenSource.Token; Task.Run(() => StartEchoServer(), _Token); _Client = new CavemanTcpClient("127.0.0.1", 9000, false, null, null); _Client.Events.ClientConnected += (s, e) => { Console.WriteLine("[Client] connected"); }; _Client.Events.ClientDisconnected += (s, e) => { Console.WriteLine("[Client] disconnected"); }; _Client.Logger = Console.WriteLine; while (_RunForever) { Console.Write("Command [? for help]: "); string userInput = Console.ReadLine(); if (String.IsNullOrEmpty(userInput)) { continue; } switch (userInput) { case "?": Console.WriteLine("Available commands:"); Console.WriteLine("q quit"); Console.WriteLine("cls clear the screen"); Console.WriteLine("connect connect to server"); Console.WriteLine("send send clientecho to the server"); Console.WriteLine("read read data from the server"); Console.WriteLine(""); break; case "q": _RunForever = false; break; case "cls": Console.Clear(); break; case "connect": _Client.Connect(5000); break; case "send": _Client.Send("clientecho"); break; case "read": ReadResult rr = _Client.Read(10); if (rr.Status == ReadResultStatus.Success) { Console.WriteLine("[Client] read 10 bytes: " + Encoding.UTF8.GetString(rr.Data)); } else { Console.WriteLine("*** [Client] read status: " + rr.Status.ToString()); } break; } } }