예제 #1
0
        public Common.ServiceStatus SetMoney(List<Efectivo> val)
        {
            Common.ServiceStatus response = new Common.ServiceStatus();
            response.error.HasError = true;
            response.error.Message = "Error recibido del PaymentDevice";
            ComClass clase = new ComClass();
            clase.funciones = ComClass.function.set_money;
            clase.Inventario = val;
            string Test = JsonConvert.SerializeObject(clase);
            using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
            {
                socket.Send(Test); // Sends some data
                var data = socket.Receive(); // Receives some data back (blocks execution)
                ComClass deserializedProduct = JsonConvert.DeserializeObject<ComClass>(data);
                if(deserializedProduct.result== ComClass.status_cash.ok)
                {
                    response.IsDone = true;
                    response.error.HasError = false;
                    return response;
                }
            }


            return response;




        }
예제 #2
0
        public void HandlePaymentCash(int quantity)
        {
            ComClass clase = new ComClass();
            clase.funciones = ComClass.function.cash_handling;
            clase.Value = quantity;
            string Test = JsonConvert.SerializeObject(clase);
            using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
            {
                socket.Send(Test); // Sends some data
                var data = socket.Receive(); // Receives some data back (blocks execution)
            }

        }
예제 #3
0
파일: Form1.cs 프로젝트: sebastianvz/Meka
        private void button1_Click(object sender, EventArgs e)
        {
            ComClass clase = new ComClass();

            clase.funciones = ComClass.function.cash_handling;
            clase.Value     = 4500;
            string Test = JsonConvert.SerializeObject(clase);

            using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
            {
                socket.Send(Test);                                      // Sends some data
                var data = socket.Receive();                            // Receives some data back (blocks execution)
            }
        }
예제 #4
0
        public static Mod CheckForUpdate() // https://download2.survival-machines.fr/vrcmodloader/VRCModLoaderHashCheck.php?localhash=b9a34bb327390008c235cefe8d8f4ada
        {
            var mod = GetMod(Setup.Mods.VRCModLoaderDLL().FullName);

            using (var socket = new ConnectedSocket("vrchat.survival-machines.fr", 26341))
            {
                var request = new VRCTRequest(Type.GETINSTALLERVERSION, "");
                socket.Send(request.toJSON());
                //var data = socket.Receive();
                //var response = new VRCTResponse(data);
                // Logger.Log("recieved:", data);
            }
            return(mod);
        }
예제 #5
0
		public string StartClient(string whatToSend)
		{
			// Connect to a remote device.
			try
			{
				// Establish the remote endpoint for the socket.
				IPAddress ipAddress = IPAddress.Parse(_serverIp);

				//IPAddress ipAddress = IPAddress.Parse("2.109.10.231");
				IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);

				// Create a TCP/IP  socket.
				var sender = new ConnectedSocket(remoteEP); 

				// Connect the socket to the remote endpoint. Catch any errors.
				try
				{
					// Send the data through the socket.
					sender.Send(whatToSend);

					// Receive the response from the remote device.
					var received = "";
					do {
						received += sender.Receive(1024);
						Thread.Sleep(20);
					}
					while (sender.AnythingToReceive);

					Console.WriteLine(received);
					return received;

				}
				catch (Exception)
				{
					return JsonConvert.SerializeObject(new LoginResponseMsg("", false) { MessageInfo = "Error - Server did not respond\nMake sure server is started and Emil isn't nearby" }, _jsonSettings);
				}

			}
			catch (Exception)
			{
				return JsonConvert.SerializeObject(new LoginResponseMsg("", false) {MessageInfo = "Error - Server did not respond\nMake sure server is started and Emil isn't nearby"}, _jsonSettings);
			}
		}
예제 #6
0
        private void ConnectToCloud()
        {
            AddLog($"Connecting to cable cloud at {Config.CloudAddress}:{Config.CloudPort}", LogType.Information);

            try
            {
                MPLSSocket socket = new MPLSSocket(Config.ManagementSystemAddress.AddressFamily, SocketType.Stream,
                                                   ProtocolType.Tcp);

                socket.Connect(new IPEndPoint(Config.CloudAddress, Config.CloudPort));

                socket.Send(Encoding.ASCII.GetBytes($"{ManagementActions.HELLO} {Config.NodeName}"));
                AddLog("Estabilished connection with cable cloud", LogType.Information);

                ConnectedSocket = socket;

                Task.Run(async() =>
                {
                    while (true)
                    {
                        var connectionGood = ConnectedSocket != null && ConnectedSocket.Connected;
                        if (connectionGood)
                        {
                            ConnectedSocket.Send(Encoding.ASCII.GetBytes("KEEPALIVE"));

                            await Task.Delay(5000);
                        }
                        else
                        {
                            AddLog("Connection to cable cloud broken!", LogType.Error);

                            break;
                        }
                    }
                });
            }
            catch (Exception)
            {
                AddLog("Failed to connect to cable cloud", LogType.Error);
            }
        }
예제 #7
0
        private void HandlePackage(MPLSPackage package)
        {
            MPLSPackage routedPackage = null;

            routedPackage = packageSwitch.RouteMPLSPackage(package, networkNodeRoutingTables, Window);
            if (routedPackage == null)
            {
                return;
            }
            try
            {
                ConnectedSocket.Send(routedPackage);
                AddLog(
                    $"Package {package} routed to port {routedPackage.Port} with label {routedPackage.PeekTopLabel()?.Number.ToString() ?? "None"}",
                    LogType.Sent);
            }
            catch (Exception e)
            {
                AddLog($"Package {routedPackage} not sent correctly: {e.Message}", LogType.Error);
            }
        }
예제 #8
0
        public List<Efectivo> GetInventario()
        {
            
                ComClass clase = new ComClass();
                clase.funciones = ComClass.function.get_money;

                string Test = JsonConvert.SerializeObject(clase);
                using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
                {
                    socket.Send(Test); // Sends some data
                    var data = socket.Receive(); // Receives some data back (blocks execution)
                    ComClass deserializedProduct = JsonConvert.DeserializeObject<ComClass>(data);
                    return deserializedProduct.Inventario;
                }


               

          

        }
예제 #9
0
        public List<Common.ServiceStatus> GetDevicesStatus()
        {

            try
            {
                ComClass clase = new ComClass();
                clase.funciones = ComClass.function.get_devices_status;

                string Test = JsonConvert.SerializeObject(clase);
                using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
                {
                    socket.Send(Test); // Sends some data
                    var data = socket.Receive(); // Receives some data back (blocks execution)
                    ComClass deserializedProduct = JsonConvert.DeserializeObject<ComClass>(data);
                    Helpers.Utilities.WriteLocalLog("[GetDevicesStatus] Devices loaded ok");
                    return deserializedProduct.DeviceStatus;
                }
            }catch(Exception e)
            {
                Helpers.Utilities.WriteLocalLog("[GetDevicesStatus] " + e.Message);
            }
            return null;   
        }
예제 #10
0
        public bool Send(string msg)
        {
            if (ConnectedSocket != null && ConnectedSocket.Connected)
            {
                byte[] buffer  = UTF8.GetBytes(msg);
                byte[] len     = BitConverter.GetBytes((long)buffer.Length);
                byte[] content = new byte[1 + len.Length + buffer.Length];
                content[0] = (byte)ChatType.Str;
                Array.Copy(len, 0, content, 1, len.Length);
                Array.Copy(buffer, 0, content, 1 + len.Length, buffer.Length);

                try
                {
                    ConnectedSocket.Send(content);
                    return(true);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message + "   ooo");
                }
            }
            return(false);
        }
예제 #11
0
        private void ConnectToMS()
        {
            AddLog($"Connecting to MS at {Config.ManagementSystemAddress}:{Config.ManagementSystemPort}", LogType.Information);
            while (true)
            {
                Socket socket = new Socket(Config.ManagementSystemAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                socket.ReceiveTimeout = 20000;

                try
                {
                    var result = socket.BeginConnect(new IPEndPoint(Config.ManagementSystemAddress, Config.ManagementSystemPort), null, null);

                    bool success = result.AsyncWaitHandle.WaitOne(5000, true);
                    if (success)
                    {
                        socket.EndConnect(result);
                    }
                    else
                    {
                        socket.Close();
                        AddLog("Connection to MS not established - timeout...", LogType.Error);
                        continue;
                    }
                }
                catch (Exception)
                {
                    AddLog("Retrying...", LogType.Information);
                }

                try
                {
                    AddLog($"Sending hello to MS...", LogType.Information);
                    socket.Send(Encoding.ASCII.GetBytes($"{ManagementActions.HELLO} {Config.NodeName}"));

                    byte[] buffer = new byte[256];
                    int    bytes  = socket.Receive(buffer);

                    var message = Encoding.ASCII.GetString(buffer, 0, bytes);

                    if (message.Contains(ManagementActions.HELLO))
                    {
                        AddLog("Estabilished connection with MS", LogType.Information);
                        ConnectedSocket = socket;

                        break;
                    }
                }
                catch (Exception)
                {
                    AddLog("Couldn't connect to MS!", LogType.Error);
                }
            }

            Task.Run(async() =>
            {
                while (true)
                {
                    var connectionGood = ConnectedSocket != null && ConnectedSocket.Connected;
                    if (connectionGood)
                    {
                        ConnectedSocket.Send(Encoding.ASCII.GetBytes("KEEPALIVE"));

                        await Task.Delay(5000);
                    }
                    else
                    {
                        AddLog("Connection to MS broken!", LogType.Error);

                        break;
                    }
                }
            });
        }
예제 #12
0
        public Common.ServiceStatus GetServiceStatus(ComClass.function function)
        {

            Common.ServiceStatus response = new Common.ServiceStatus();

            try
            {
                ComClass clase = new ComClass();
                clase.funciones = function;
                string Test = JsonConvert.SerializeObject(clase);
                using (var socket = new ConnectedSocket("127.0.0.1", 1337)) // Connects to 127.0.0.1 on port 1337
                {
                    socket.Send(Test); // Sends some data
                    var data = socket.Receive(); // Receives some data back (blocks execution)
                    ComClass deserializedProduct = JsonConvert.DeserializeObject<ComClass>(data);
                    if (function == ComClass.function.system_status)
                    {
                        if (deserializedProduct.status == ComClass.machine_status.idle)
                        {
                            response.IsDone = true;
                            response.error.HasError = false;
                            return response;
                        }
                        else
                        {
                            response.IsDone = false;
                            response.error.HasError = true;
                            response.error.Message = deserializedProduct.status.ToString();
                        }
                    }
                    else if (function == ComClass.function.operation_status)
                    {

                        if (deserializedProduct.result == ComClass.status_cash.ok)
                        {
                            response.IsDone = true;
                            response.error.HasError = false;

                            return response;
                        }
                        else if (deserializedProduct.result == ComClass.status_cash.time_out)
                        {
                            response.IsDone = false;
                            response.error.HasError = true;
                            response.error.Message = ComClass.status_cash.time_out.ToString();
                            return response;

                        }
                        else if (deserializedProduct.result == ComClass.status_cash.operation_error)
                        {
                            response.IsDone = false;
                            response.error.HasError = true;
                            response.error.Message = ComClass.status_cash.time_out.ToString();
                            return response;

                        }
                        else if (deserializedProduct.result == ComClass.status_cash.waiting)
                        {
                            response.IsDone = false;
                            response.error.HasError = false;
                            response.error.Message = "";
                            return response;

                        }
                    }

                }
            }catch (Exception e)
            {
                response.error.HasError = true;
                response.error.Message = e.Message;
                response.IsDone = true;
            }
                           
             return response;     

        }