• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przesył potokowy pomiędzy programem A, a programem B (WINDOWS C#)

Object Storage Arubacloud
0 głosów
108 wizyt
pytanie zadane 17 kwietnia 2018 w C# przez Vaxiris Początkujący (260 p.)

Witam. Mam program, który pobiera zasób internetowy z podanej mu strony internetowej. Następnie ma go wyświetlić w konsoli, zapisać do pliku, lub też dopisać do istniejącego już pliku. Oto listing:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
 
namespace WWWInt
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                string url = "url";
                if (args[0] == url)
                {
                    try
                    {
                        WebRequest request = WebRequest.Create(args[1]); //Send request 
                        request.Credentials = CredentialCache.DefaultCredentials; // If required by the server, set the credentials.
                        WebResponse response = request.GetResponse(); // Get the response.
                        Console.WriteLine(((HttpWebResponse)response).StatusDescription); // Display the status.
                        Stream dataStream = response.GetResponseStream(); // Get the stream containing content returned by the server.
                        StreamReader reader = new StreamReader(dataStream); // Open the stream using a StreamReader for easy access.
                        string responseFromServer = reader.ReadToEnd(); // Read the content.
                        if (args[2] == "konsola") // Display the content.
                        {
                            Console.WriteLine(responseFromServer);
                            reader.Close(); // Clean up the streams and the response.
                            response.Close();
                        }
                        else if (args[2] == "nadpisz")
                        {
                            if (args[3].Contains("C:/SOiAK/"))
                            {
                                File.WriteAllText(args[3], responseFromServer);
                            }
                            else
                            {
                                Console.WriteLine("bledna sciezka pliku");
                            }
                        }
                        else if (args[2] == "dopisz")
                        {
                            if (args[3].Contains("C:/SOiAK/"))
                            {
                                File.AppendAllText(args[3], Environment.NewLine + responseFromServer);
                            }
                            else
                            {
                                Console.WriteLine("bledna sciezka pliku");
                            }
                        }
                    }
                    catch (UriFormatException)
                    {
                        Console.WriteLine("bledny adres strony internetowej");
                    }
                }
                else
                {
                    Console.WriteLine("bledne formatowanie: URL adres_internetowy KONSOLA_do_pliku_NADPISZ_lub_DOPISZ ewentualny_adres_plik ");
                }
            }
        }
    }
}

Mam też drugi program, który ma przekazać dane do portu szeregowego. Dane mogą być z pliku lub tekst wprowadzony do tablicy "args". Oto listing:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.IO.Ports;
using System.ComponentModel;
 
namespace komszer
{
    class Program
    {
        static SerialPort com7;
        static void Main(string[] args)
        {
             
            
            com7 = new SerialPort("COM7", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
 
            if (args[0] == "port")
            {
                if (args[1] == "COM7")
                {
                    if (args[2] == "tekst")
                    {
 
                        com7.Open();
                        com7.Write(args[3]);
 
                    }
                    else if (args[2] == "plik")
                    {
                        string plik = File.ReadAllText(args[3]);
                        com7.Open();
                        com7.Write(plik);
                    }
                    
                    else
                        Console.WriteLine("nie podano zrodla");
 
                }
                else
                    Console.WriteLine("nie ma takiego interfejsu!");
 
            }       
            else
                Console.WriteLine("nie podano polecenia!");
 
        }
 
    }
}

Moje pytanie brzmi: Jak możnaby zmodyfikować oba te programy, aby zasób internetowy przesłać potokowo do portu szeregowego przez konsolę windows wpisując w konsoli:

{program_zasob_danych} {parametry} | {program_port_szeregowy} {parametry}

Prosiłbym o pomoc w kodzie, lub odesłanie linkiem do informacji, które mogłyby pomóc. Za wszelką pomoc serdecznie dziękuję. Pozdrawiam

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 23 czerwca 2019 w C i C++ przez AuriattaDev Początkujący (390 p.)
0 głosów
1 odpowiedź 226 wizyt
0 głosów
3 odpowiedzi 597 wizyt
pytanie zadane 6 marca 2017 w C i C++ przez Dexterim Dyskutant (8,370 p.)

92,570 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...