Online in C#



  • Kann mir vielleicht irgendjemand eine detaillierte Anleitung schicken, wie ich in C# eine Verbindung mit dem Internet herstellen kann?
    Hab in vielen Tutorials and FAQs nachgeschaut, ich finde aber keine Lösung dazu.

    *lakoon*



  • Verbindung ? Internet ?

    Was bezeichnest du als Internet.

    Im Internet wird alles über Ports angesprochen.

    z.B.
    ftp 21
    http 80
    etc.

    Um einen Socket zu einem Rechner aufzubauen:
    TcpClient(serveripadtesse,port);



  • Hi,
    wenn ich Dich richtig verstanden habe, willst du aus einer Windows-Anwendung (WindowsForms) eine Webseite oder ein Bild aus dem Internet öffnen, ne?
    Versuchs mal so:

    string sURL = "http://berl.dyndns.org";
    WebRequest webreq = WebRequest.Create(sURL);
    WebResponse webres = webreq.GetResponse();
    Stream webstream = webres.GetResponseStream();
    

    Hierzu braust du die Namespaces System.Net und System.IO.
    Falls was nicht klar ist kann ich gern ein kleines Bsp. posten.



  • Das hat mir schon mal weiter geholfen, vielen Dank!

    Mein Problem:
    Ich brauch unter Windows Formularfelder, in welche ich beliebigen Text eingeben kann. Nach erfolgreicher Eingabe soll das Programm eine Verbindung zum Internet aufbauen und diese eingegebenen Daten in eine Datenbank speichern, die auf einem Webspace liegt.

    Ich seh bei meinem Problem aber absolut kein Land...

    *lakoon*



  • Dann arbeite doch mit ADO.NET und benutzte jenach dem welche Datenbank du hast (System.Data.SqlClient)SQLConnect ( nur für den MS SQL Server ) oder System.Data.OleDb.OleDbConnection. Schau dir dazu die MSDN Beispiele an, die zeigen dir genau wie du es machen musst ( Source=localhost -> hier Server angeben). Einige Hersteller bieten glaube ich auch schon eigene Klassen für ADO.NET an, einfach mal nachschauen!



  • Falls du eine MySQL-DB hast, kannst du ja ein PHP-Script schreiben, dem du dann einfach die entsprechendne Felder übergibst.
    z.B. www.DeiWeb.de/inster_DB.php?FeldID=32&name=darkberl

    Im PHP-Script kannst du dann einfach ein MySQL connect und insert machen.



  • Das wäre/ist natürlich auch eine Möglichkeit, aber voraussetzung sind nunmal die Formularfelder UNTER WINDOWS.
    Ich müsste den Inhalt der Felder in Variablen abspeichern, dann eine Verbindung aufbauen und dann eine Site im WWW mit Parametern aufrufen, die dann wiederum in einer Funktion, welche Inhalt der aufgerufenen Seite ist, verarbeitet und in die DB gespeichert würden.

    Die Frage ist nur, wie baue ich - nach dem Speichern der Inhalte der Formularfelder - ein Verbindung auf unt wie schicke ich die Variablen in Form von Parametern an eine URL, ohne einen Browser aufzurufen?
    Geht das überhaupt?



  • Könntest nebenbei mal sagen was für eine Datenbank du hast? Bzw, hast meinen oberen Post gelesen?

    Für MySql: www.einfodesigns.com/dbProvider_price.aspx

    [ Dieser Beitrag wurde am 09.07.2002 um 16:03 Uhr von Scania V8 editiert. ]



  • Oder über ODBC ist es hier beschrieben:

    www.dotnet247.com/247reference/msgs/10/53205.aspx



  • Zu deiner Frage:
    *
    Die Frage ist nur, wie baue ich - nach dem Speichern der Inhalte der Formularfelder - ein Verbindung auf unt wie schicke ich die Variablen in Form von Parametern an eine URL, ohne einen Browser aufzurufen?
    Geht das überhaupt?
    *

    Jup.
    Oben hab ich dir doch gezeigt, wie man eine URL aufruft.
    Ist da ein Fenster aufgesprungen?= Nope. Es wird lediglich eine Anfrage an die Seite geschickt und erhalten tust du einen Stream.

    Ach übrigens, du mußt die vars nicht zwischenspeichern odda so was.
    Ganz einfach:
    An eine Webseite kannst du Vars folgendermassen übergeben: http://www.deiseit.de/moop.php?Var1=Wert&Var2=Wert2&Var3=Wert3 ....
    klar?

    Und so kannst du dir deine URL zusammenbauen:

    string sURL="http://www.deiseit.de/beispiel.php?Var1="+ VarAusCode + "&Var2="+ Var2AusCode;
    WebRequest webreq = WebRequest.Create(sURL);
    WebResponse webres = webreq.GetResponse();
    Stream webstream = webres.GetResponseStream();
    webstream.Close();
    

    Dann sind im beispiel.php die Variablen Var1 und Var2 bekannt und ansprechbar!



  • Auch auf die Gefahr hin, dass du mich schimpfst (heul):

    Du hast mir sehr gut geschildert, wie ich die URL zusammenbauen kann, aber mir ist noch nicht ganz klar, ob ich diese Anfrage denn einfach so stellen kann, ohne über online zu sein?
    Und ich will auf keinen Fall, dass beim Request dieses Pupup erscheint, bei dem man selbst die Verbindung auswählen muss und dann erst noch verbunden wird.

    Und nochwas:
    Gibt es eine Möglichkeit, in C# (ähnlich wie in VB oder so) eine Umgebung zu benutzen, wo das Resultat grafisch ist und nicht ein Programm für die Kommandozeile?

    Viele Grüße und vielen Dank,
    *lakoon*



  • @Scania V8:

    Ich beinutze ein SQL-DB, aber falls die Methode, einer PHP-Seite einfach so zu schicken, funktioniert, spielt das gar keine so große Rolle mehr.
    In PHP bin ich nach eigener Einschätzung doch etwas bewandert aber der Weg dorthin, wo PHP erstmals zum Einsatz kommt, ist sehr lang. Mein eigentliches Problem liegt... (siehe oben!!!)

    Gruß,
    *lakoon*



  • Sorry, ich frage mich wo dein Problem ist? PHP brauchst du nun wirklich nicht, schließlich bietet dir die .NET Platform alles was du brauchst.

    Als erstes erzeugst du dir ein Form in dem du dir alle benötigten Editfelder plazierst. Zusätlich ein "Send"-Button, wo alle Eingaben auf Gültigkeit überprüft werden und das Senden der Daten vorbereitet
    (Alle Controls bieten das Proberty Text an, wo du dir die eingegeben Daten abrufen kannst. Danach baust du dir einen String: "Insert..." + edit1.Text + editn.Text; ). Zum Schluß stellst du eine Verbindung zum Server her (entweder über ODBC, OLEDB oder SQL Klassen, die alle in der ADO.NET zurverfügung stehen, In der MDSN giebt es für die jeweilige Klasse gute Beispiele, die zeigen wie man sich zur DB verbindet). Eine WebForm funktioniert im Grunde genauso.

    [ Dieser Beitrag wurde am 10.07.2002 um 12:15 Uhr von Scania V8 editiert. ]



  • @Laques:

    Also die .Net kannst Du mit PHP ab V4.23 nutzen(experimentell).

    Die Semantik lautet für eine GUI mit WinForm z.B.:

    <?php
    $application = new WinForm("Applicatio");
    $form = new WinForm("Form");
    $form->Text " .NET mit PHP und WinForms";
    $application->Run($form);
    ?>
    

    Das wäre analog zu:

    using System;
    // using System.Drawing;
    using System.Windows.Forms;
    
    class DotNetPhpWinForms : Form
    {
      public static void Main()
      {
       Form form = new Form();
       form.Text = ".NET mit PHP und WinForms"; 
       Application.Run(form);
      }
    }
    

    Du hast folgende Klasen für folgende Namespaces zu Verfügung:

    DotNET    Assemblies
    System    System
    WebForm   System.Web
    WinForm   System.Windows.Forms;
    

    Einfach die Analogien bilden! 😉

    Hoffe, konnte Dir helfen 🙂 :

    P84

    [ Dieser Beitrag wurde am 11.07.2002 um 16:00 Uhr von Prof84 editiert. ]


Anmelden zum Antworten