elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Chat con Linux
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Chat con Linux  (Leído 2,089 veces)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Chat con Linux
« en: 3 Diciembre 2020, 22:25 pm »

Buenas:

Hice un pequeño mini chat en consola con C# bajo Windows 10 de siempre. Quiero hacer lo mismo con Script bajo la Raspberry Pi. Como no tengo idea de Script de Linux y tampoco quiero usar MonoDevelop de Linux con C#, pues alguien me podría ayudar adaptar el código de C# a puro Script de Linux si no le importa.

Código C#:
Código
  1. using System;
  2. using System.IO.Ports;
  3. using System.Threading;
  4.  
  5. namespace Introducir_datos_puerto_serie_consola_02
  6. {
  7.    class Program
  8.    {
  9.        static bool _continua;
  10.        // Cree un nuevo objeto SerialPort con la configuración predeterminada.
  11.        static SerialPort Puerto_serie = new SerialPort("COM2");
  12.  
  13.        static void Main(string[] args)
  14.        {
  15.            string nombre;
  16.            string mensaje;
  17.            StringComparer comparaString = StringComparer.OrdinalIgnoreCase;
  18.            Thread readThread = new Thread(Leer);
  19.  
  20.            // Título de la ventana.
  21.            Console.Title = "Enviar datos al puerto serie";
  22.  
  23.            // Tamaño de la ventana, x, y.
  24.            Console.SetWindowSize(70, 25);
  25.  
  26.            // Color de fondo.
  27.            Console.BackgroundColor = ConsoleColor.Blue;
  28.  
  29.            // Color de las letras.
  30.            Console.ForegroundColor = ConsoleColor.Yellow;
  31.  
  32.            // Limpiar pantalla y dejarlo todo gris.
  33.            Console.Clear();
  34.  
  35.            // Visible el cursor.
  36.            Console.CursorVisible = true;
  37.  
  38.            Puerto_serie.BaudRate = 115200;
  39.            Puerto_serie.Parity = Parity.None;
  40.            Puerto_serie.StopBits = StopBits.One;
  41.            Puerto_serie.DataBits = 8;
  42.            Puerto_serie.Handshake = Handshake.None;
  43.            Puerto_serie.RtsEnable = true;
  44.  
  45.            // Establecer los tiempos de espera de lectura / escritura.
  46.            Puerto_serie.ReadTimeout = 500; // 500 // Milisegundos.
  47.            Puerto_serie.WriteTimeout = 500; // 500
  48.  
  49.            // Abrir puerto serie.
  50.            Puerto_serie.Open();
  51.            _continua = true;
  52.            readThread.Start();
  53.  
  54.            // Mostrar texto Nombre y se
  55.            Console.Write("Nombre: ");
  56.  
  57.            // guarda en la variable nombre.
  58.            nombre = Console.ReadLine();
  59.  
  60.            Console.WriteLine("Escriba salir para salir");
  61.  
  62.            while (_continua)
  63.            {
  64.                // Cualquier caracter recibido se guarda en la variable mensaje.
  65.                mensaje = Console.ReadLine();
  66.  
  67.                // Compara salir con el mensaje salir si lo haz escrito igual.
  68.                // ¿Escribiste la palabra salir?
  69.                if (comparaString.Equals("salir", mensaje))
  70.                {
  71.                    // Sí. Entonces, pone esta variable _continue en false.
  72.                    _continua = false;
  73.                }
  74.                // No. Entonces, envía por el puerto serie tu nick
  75.                // y mensaje que haz escrito.
  76.                else
  77.                {
  78.                    Puerto_serie.WriteLine(
  79.                        String.Format("<{0}>: {1}", nombre, mensaje));
  80.                }
  81.            }
  82.  
  83.            // Bloquea el subproceso.
  84.            readThread.Join();
  85.  
  86.            // Cierra el puerto serie.
  87.            Puerto_serie.Close();
  88.  
  89.        }
  90.  
  91.        // Lee mensaje recibido.
  92.        public static void Leer()
  93.        {
  94.            // Si _continue es true se ejecuta todas las instrucciones dentro de while.
  95.            while (_continua)
  96.            {
  97.                try
  98.                {
  99.                    // Almacena en la variable mensaje cualquier caracter o mensaje recibido.
  100.                    string mensaje = Puerto_serie.ReadLine();
  101.  
  102.                    // Muestra en pantalla mensaje recibido.
  103.                    Console.WriteLine(mensaje);
  104.                }
  105.                catch (TimeoutException) { }
  106.            }
  107.        }
  108.    }
  109. }

Seguro que es un cambiazo muy grande para la programación del Script.

Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
chat
Sugerencias y dudas sobre el Foro
thinkhacker 1 2,304 Último mensaje 15 Abril 2005, 05:53 am
por + enrique ZP
CHAT en VB
Programación Visual Basic
LGAR 7 2,158 Último mensaje 9 Mayo 2006, 01:02 am
por LGAR
El chat no oficial de elhacker.net (http://the-chat.tk/ )
Sugerencias y dudas sobre el Foro
YST 8 6,199 Último mensaje 3 Abril 2009, 17:29 pm
por #!drvy
Chat en Foro SMF con autentificacion ( sin ella no podran ablar en el chat )
PHP
XXXXXX 3 5,887 Último mensaje 28 Abril 2010, 02:19 am
por XXXXXX
Chat para publico y chat privado
Desarrollo Web
ganondolf 2 3,714 Último mensaje 30 Diciembre 2014, 03:10 am
por Varlch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines