/// <summary> /// Run example /// </summary> public static void RunExample() { //NetworkComms.PacketConfirmationTimeoutMS = 1000000; //var processors = new List<DataProcessor> { DPSManager.GetDataProcessor<SharpZipLibCompressor.SharpZipLibGzipCompressor>(), DPSManager.GetDataProcessor<RijndaelPSKEncrypter>() }; var processors = new List <DataProcessor> { DPSManager.GetDataProcessor <RijndaelPSKEncrypter>() }; var dataOptions = new Dictionary <string, string>(); RijndaelPSKEncrypter.AddPasswordToOptions(dataOptions, "oj1N0bcfsjtQxfgRKT7B"); var options = new SendReceiveOptions(DPSManager.GetDataSerializer <ProtobufSerializer>(), processors, dataOptions) { UseNestedPacket = false }; //Uncomment to make it work //RijndaelPSKEncrypter.AddPasswordToOptions(NetworkComms.DefaultSendReceiveOptions.Options, "oj1N0bcfsjtQxfgRKT7B"); var points = new List <IPEndPoint>(); var localIPs = HostInfo.IP.FilteredLocalAddresses(); foreach (var ip in localIPs) { var listener = new TCPConnectionListener(options, ApplicationLayerProtocolStatus.Enabled); listener.AppendIncomingPacketHandler <string>("Kill all humans", (header, con, customObject) => { Console.WriteLine("\nReceived custom protobuf object from " + con); }, options); Connection.StartListening(listener, new IPEndPoint(ip, 0)); points.Add(listener.LocalListenEndPoint as IPEndPoint); } Console.WriteLine("Listening on:"); foreach (var endpoint in points) { Console.WriteLine("{0}:{1}", endpoint.Address.ToString(), endpoint.Port.ToString()); } var point = points.First(); //IPEndPoint point = IPTools.ParseEndPointFromString("::1:46112"); var connectionInfo = new ConnectionInfo(point); var connection = TCPConnection.GetConnection(connectionInfo); options.ReceiveConfirmationRequired = true; connection.SendObject("Kill all humans", "Bite my shiny metal ass", options); Console.ReadLine(); }
/// <summary> /// Run example /// </summary> public static void RunExample() { //NetworkComms.PacketConfirmationTimeoutMS = 1000000; //var processors = new List<DataProcessor> { DPSManager.GetDataProcessor<SharpZipLibCompressor.SharpZipLibGzipCompressor>(), DPSManager.GetDataProcessor<RijndaelPSKEncrypter>() }; var processors = new List<DataProcessor> { DPSManager.GetDataProcessor<RijndaelPSKEncrypter>() }; var dataOptions = new Dictionary<string, string>(); RijndaelPSKEncrypter.AddPasswordToOptions(dataOptions, "oj1N0bcfsjtQxfgRKT7B"); var options = new SendReceiveOptions(DPSManager.GetDataSerializer<ProtobufSerializer>(), processors, dataOptions) { UseNestedPacket = false }; //Uncomment to make it work //RijndaelPSKEncrypter.AddPasswordToOptions(NetworkComms.DefaultSendReceiveOptions.Options, "oj1N0bcfsjtQxfgRKT7B"); var points = new List<IPEndPoint>(); var localIPs = HostInfo.IP.FilteredLocalAddresses(); foreach (var ip in localIPs) { var listener = new TCPConnectionListener(options, ApplicationLayerProtocolStatus.Enabled); listener.AppendIncomingPacketHandler<string>("Kill all humans", (header, con, customObject) => { Console.WriteLine("\nReceived custom protobuf object from " + con); }, options); Connection.StartListening(listener, new IPEndPoint(ip, 0)); points.Add(listener.LocalListenEndPoint as IPEndPoint); } Console.WriteLine("Listening on:"); foreach (var endpoint in points) Console.WriteLine("{0}:{1}", endpoint.Address.ToString(), endpoint.Port.ToString()); var point = points.First(); //IPEndPoint point = IPTools.ParseEndPointFromString("::1:46112"); var connectionInfo = new ConnectionInfo(point); var connection = TCPConnection.GetConnection(connectionInfo); options.ReceiveConfirmationRequired = true; connection.SendObject("Kill all humans", "Bite my shiny metal ass", options); Console.ReadLine(); }
public static void RunExample() { NetworkComms.ConnectionEstablishTimeoutMS = 600000; IPAddress localIPAddress = IPAddress.Parse("::1"); Console.WriteLine("Please select mode:"); Console.WriteLine("1 - Server (Listens for connections)"); Console.WriteLine("2 - Client (Creates connections to server)"); //Read in user choice if (Console.ReadKey(true).Key == ConsoleKey.D1) serverMode = true; else serverMode = false; if (serverMode) { NetworkComms.PacketHandlerCallBackDelegate<byte[]> callback = (header, connection, data) => { if (data == null) Console.WriteLine("Received null array from " + connection.ToString()); else Console.WriteLine("Received data (" + data + ") from " + connection.ToString()); }; //NetworkComms.AppendGlobalIncomingPacketHandler("Data", callback); NetworkComms.DefaultSendReceiveOptions.DataProcessors.Add(DPSManager.GetDataProcessor<RijndaelPSKEncrypter>()); RijndaelPSKEncrypter.AddPasswordToOptions(NetworkComms.DefaultSendReceiveOptions.Options, "somePassword!!"); ConnectionListenerBase listener = new TCPConnectionListener(NetworkComms.DefaultSendReceiveOptions, ApplicationLayerProtocolStatus.Enabled); listener.AppendIncomingPacketHandler("Data", callback); Connection.StartListening(listener, new IPEndPoint(localIPAddress, 10000), true); Console.WriteLine("\nListening for UDP messages on:"); foreach (IPEndPoint localEndPoint in Connection.ExistingLocalListenEndPoints(ConnectionType.UDP)) Console.WriteLine("{0}:{1}", localEndPoint.Address, localEndPoint.Port); Console.WriteLine("\nPress any key to quit."); ConsoleKeyInfo key = Console.ReadKey(true); } else { ConnectionInfo serverInfo = new ConnectionInfo(new IPEndPoint(localIPAddress, 10000)); SendReceiveOptions customOptions = (SendReceiveOptions)NetworkComms.DefaultSendReceiveOptions.Clone(); //customOptions.DataProcessors.Add(DPSManager.GetDataProcessor<RijndaelPSKEncrypter>()); //RijndaelPSKEncrypter.AddPasswordToOptions(customOptions.Options, "somePassword!!"); customOptions.DataProcessors.Add(DPSManager.GetDataProcessor<SharpZipLibCompressor.SharpZipLibGzipCompressor>()); //customOptions.DataProcessors.Add(DPSManager.GetDataProcessor<DataPadder>()); //DataPadder.AddPaddingOptions(customOptions.Options, 10240, DataPadder.DataPaddingType.Random, false); //customOptions.UseNestedPacket = true; Connection conn = TCPConnection.GetConnection(serverInfo, customOptions); sendArray = null; conn.SendObject("Data", sendArray); Console.WriteLine("Sent data to server."); Console.WriteLine("\nClient complete. Press any key to quit."); Console.ReadKey(true); } }
public static void RunExample() { NetworkComms.ConnectionEstablishTimeoutMS = 600000; IPAddress localIPAddress = IPAddress.Parse("::1"); Console.WriteLine("Please select mode:"); Console.WriteLine("1 - Server (Listens for connections)"); Console.WriteLine("2 - Client (Creates connections to server)"); //Read in user choice if (Console.ReadKey(true).Key == ConsoleKey.D1) { serverMode = true; } else { serverMode = false; } if (serverMode) { NetworkComms.PacketHandlerCallBackDelegate <byte[]> callback = (header, connection, data) => { if (data == null) { Console.WriteLine("Received null array from " + connection.ToString()); } else { Console.WriteLine("Received data (" + data + ") from " + connection.ToString()); } }; //NetworkComms.AppendGlobalIncomingPacketHandler("Data", callback); NetworkComms.DefaultSendReceiveOptions.DataProcessors.Add(DPSManager.GetDataProcessor <RijndaelPSKEncrypter>()); RijndaelPSKEncrypter.AddPasswordToOptions(NetworkComms.DefaultSendReceiveOptions.Options, "somePassword!!"); ConnectionListenerBase listener = new TCPConnectionListener(NetworkComms.DefaultSendReceiveOptions, ApplicationLayerProtocolStatus.Enabled); listener.AppendIncomingPacketHandler("Data", callback); Connection.StartListening(listener, new IPEndPoint(localIPAddress, 10000), true); Console.WriteLine("\nListening for UDP messages on:"); foreach (IPEndPoint localEndPoint in Connection.ExistingLocalListenEndPoints(ConnectionType.UDP)) { Console.WriteLine("{0}:{1}", localEndPoint.Address, localEndPoint.Port); } Console.WriteLine("\nPress any key to quit."); ConsoleKeyInfo key = Console.ReadKey(true); } else { ConnectionInfo serverInfo = new ConnectionInfo(new IPEndPoint(localIPAddress, 10000)); SendReceiveOptions customOptions = (SendReceiveOptions)NetworkComms.DefaultSendReceiveOptions.Clone(); //customOptions.DataProcessors.Add(DPSManager.GetDataProcessor<RijndaelPSKEncrypter>()); //RijndaelPSKEncrypter.AddPasswordToOptions(customOptions.Options, "somePassword!!"); customOptions.DataProcessors.Add(DPSManager.GetDataProcessor <SharpZipLibCompressor.SharpZipLibGzipCompressor>()); //customOptions.DataProcessors.Add(DPSManager.GetDataProcessor<DataPadder>()); //DataPadder.AddPaddingOptions(customOptions.Options, 10240, DataPadder.DataPaddingType.Random, false); //customOptions.UseNestedPacket = true; Connection conn = TCPConnection.GetConnection(serverInfo, customOptions); sendArray = null; conn.SendObject("Data", sendArray); Console.WriteLine("Sent data to server."); Console.WriteLine("\nClient complete. Press any key to quit."); Console.ReadKey(true); } }