Laden...

Forenbeiträge von bio Ingesamt 7 Beiträge

21.10.2007 - 04:19 Uhr

bitteschön 😉

ich wollte dir keinen vorwurf machen, nur evtl. etwas mit der nase aufs thema stossen 😉

Bin noch nich so lange dabei
Programmiere erst seit n paar Monaten und bin noch nicht so weit nobody is perfect! das wird schon wenn du etwas hartnäckig bist und drann bleibst. trotzdem würde ich empfehlen (falls du das nicht schon hast) dir ein buch zu zu legen das grundwissen vermittelt.
schau einfach mal, wenn du lust hast, ins forum zur buchempfehlung hier auf dem board.Buchempfehlungen
Aber ich arbeite an mir ^^ das ist löblich ! 😉

viel erfolg wünsch ich dir weiterhin!
und stell weiter deine fragen - fragen kostet ja nichts 😉

grüsse

21.10.2007 - 00:47 Uhr

na da hast du dich zuvor aber falsch ausgedrückt.

das übergeordnete Fenster (IsMdiContainer = true Eigenschaft) eines MDI-Child weist du mit der Eigenschaft MdiParent dem MDI-Childfenster zu.
z.B.
myMDIChild.MdiParent = this;

schau mal hier:
http://msdn2.microsoft.com/de-de/library/7aw8zc76.aspx
oder hier:
http://msdn2.microsoft.com/de-de/library/d4dabts7.aspx

das ist aber rudimentäre windows forms kenntnis, mit der du dich näher auseinander setzen solltest 😉

hier:
http://www.codeproject.com/csharp/mdiformstutorial.asp
findest du noch ein nettes beispiel programm mit sourcecode

20.10.2007 - 17:43 Uhr

Hmmmm, wo liegt denn dein Problem dabei ?

Wie Du eine MDI-Form erstellst weisst du sicherlich ?
Aufrufen kannst du das dann wie jedes andere Formular.

nehmen wir mal an dein neues MDI-Formular heisst MyNewMDIForm (also die klasse),
also sieht das zb. wie folgt aus.


MyNewMDIForm myNewMDIFormObj = New MyNewMDIForm();
myNewMDIFormObj.Show();
myNewMDIFormObj.Activate();

Die Klasse des neuen Formulars muss entweder im selben Namespace sein oder du refferenzierst das per using am Anfang.
Zum schliessen des anderen MDI-Formulars kannst du einfach die Methode Form.Close() aufrufen. zu beachten dabei ist dass wenn du das Hauptfenster mit Close() schliesst (also das Formular mit static void Main() ) beendet das im Normalfall deine komplette Applikation. Hier solltest du das Formular mit Form.Hide() nur ausblenden.

Ich denke das wärs dazu - probier es aus 😉

axo:
Du musst natürlich auch darauf achten dass wenn du das Formular schliesst von den aus du das neue Formular aufrufst (siehe oben New MyNewMDIForm() ), dann ist natürlich auch das neue Objekt deines neuen Formulars weg. Dh. entweder du blendest das aufrufende Formular nur aus mit Hide() oder du schreibst eine neue Klasse mt Public Members des Typ Form (oder private, dann musst du aber noch Eigenschaften get/set schreiben) denen du dann das neue Formular zuweist. diese Klasse musst du dann ziemlich am Anfang Instanzieren, also zb. im Konstruktor des Hauptformulars.

20.10.2007 - 17:01 Uhr

Original von ec-hasslau.de
Wenn ich den Socket erstell und auf Verbindung warte, wäre es ja sinnlos gleichzeit nochmal eine "umgekehrte" Verbindung (sprich mit mir als Client) zu erstellen.

Aber wenn ich nur den Server erstell, wie kommt dann jemals eine Verbindung zustande?

Du musst schon auch zu dem eigenen internen Server verbinden, da du ja sonnst kaum auch die Nachrichten bekommst die zu deinem Server gesendet werden.
Auch wenn der Server-Thread im selben Programm gestartet wird, musst du dir das gedanklich so vorstellen, als wäre es ein eigenständiger Server irgendwo, zudem Clienten verbinden. Also musst du selbst auch zu diesem Server verbinden um an der Chatsitzung teil zu nehmen.
Auf der gegenüberliegenden Seite läuft das genauso ab (ist ja das selbe Programm 😉 ), dh. jeder verbindet zu jedem und zu sich selbst. Das kannst du ja erstmal manuel ausführen um das zu testen. Später kann man das dann automatisieren indem man die eingehende Verbindung von einem Client auch als Serveradresse (RemoteEndPoint) benutz und automatisch verbindet. Eine verwaltung der Clienten in nem Array wäre natürlich sinnvoll.
Bedenken dabei musst du aber dass das ganze bei einer evtl. weltweiten Vernetzung schlecht skalierbar wird wenn jeder zu jedem verbindet und jeder Client alle Daten vorhällt. Bei Chat Sitzungen von ein paar hundert Clienten dürfte das aber kein Problem darstellen.

20.10.2007 - 16:47 Uhr

Hallo svenson,

Dank Dir für den Link, aber leider ist das der selbe Artikel den ich oben schon aufgeführt hatte, nur eben in Englisch 😉

Original von svenson
Ist aber eine reine Windows-Geschichte.

Jo, das hab ich befürchtet.
Ist es überhapt möglich sowas in C# zu realisieren, sodass aber auch andere Platformen teil nehmen können ? (mono oder DotGNU unterstützen ja bestimmt zur Zeit kaum .NET 3.0 ?)
Irgendwo bei meinen recherchen zu WCF hab ich am rande gelesen dass man auch per Java darauf zugreifen können soll. Das wär ja dann evtl. ne Möglichkeit wenn man im nachhinein dann nen Java-Client schreiben würde.

Fragen über Fragen 🤔

20.10.2007 - 05:52 Uhr

Hallo Community,

seit einiger Zeit trage ich mich mit dem Gedanken eine P2P Applikation zu schreiben (nicht im Sinne von Filesharing, aber Dateiaustausch soll auch möglich sein).
Ich hatte begonnen eine Chat-Applikation via TCP/IP zu entwickeln die ohne zentralen Server aus kommt, da ich dachte die serverlose Struktur wäre wegen der besseren Ausfallsicherheit der beste Ansatz.
Nun funktioniert das Chat-Programm schon rudimentär und mir ist bei weiterem nachdenken aufgefallen dass ich doch evtl. einen zentralen Server brauche, da ich eindeutige User-Autentifizierung implementieren möchte, dh. ich wohlmöglich eine Accountverwaltung über eine Datenbank benötige.
Bei meinen Recherchen über Möglichkeiten bin ich nun über ASP.NET oder Webservices auf WCF gestossen und da speziell auf die P2P-Entwicklung mit PeerChannel.
Gefunden habe ich diesen Artikel zur P2P-Entwicklung mit WCF, der mir aber nur rudimentär vermittelt wie das ganze abläuft bzw. was man damit machen kann.
Nun habe ich nach einem Buch gesucht das tiefer in die Materie einsteigt und habe auch ein deutsches Buch zu WCF von Microsoft Press gefunden (Microsoft Windows Communication Foundation - Schritt für Schritt).
Es steht aber in dem Inhaltsverzeichnis zu diesem Buch nichts über PeerChannel und in dem oben angeführten Artikel wird aber gesagt dass nur das PeerChannel Modul inerhalb der WCF der Entwicklung von P2P-Applikationen dient.

Aufgrund seiner Unterstützung für P2P-Anwendungen könnte Windows Communication Foundation als Mesh-Technologie betrachtet werden, doch in Wirklichkeit dient nur das PeerChannel-Modul von Windows Communication Foundation dem Erstellen von P2P-Anwendungen.

Nun Stellt sich mir die Frage ob diese Buch eine Möglichkeit ist sich in die Materie ein zu arbeiten, obwohl es nichts zu PeerChannel beinhaltet, oder ob es noch bessere (deutsche) Literatur zur P2P-Entwicklung mit WCF gibt. Gefunden hab ich leider nichts spezielleres zu dem thema als das oben genannt Buch und möchte dies aber nicht "auf gut Glück" kaufen, da solche Bücher ja recht teuer sind und ich nicht so viel Geld zur verfügung habe.

Ist es überhaupt ratsam eine P2P-Applikation mit WCF technologie zu entwickeln ?
Ich meine Linux oder Mac user wären dann ja von der Teilnahme ausgeschlossen, oder irre ich da ?
So wie es für mich im Moment aussieht bietet mir aber die WCF mit PeerChannel einige Vorteile bzw. Erleichterungen wie zb. PNRP. Diese Funktionalitäten müsste ich bei einer TCP/IP Applikation selbst implementieren, d.h. selbst ein Protokoll entwerfen (zb. ähnlich Kadmelia oder EDonkey etc.pp.) und ich denke die PeerChannel Technologie wäre da auch eine enorme Ersparniss an Programmierarbeit.

Im Moment bin ich etwas Ratlos, da ich nur sehr wenig über WCF weiss und ob mir PeerChannel auch das bietet was ich mir vorstelle und wäre über Erfahrungs- und/oder Wissensberichte sehr dankbar.
Bevor ich mir nicht im klaren bin welche grundlegende Technik die beste Wahl ist muss ich das Projekt erstmal ruhen lassen.

Ich bedanke mich im Voraus für eure Hilfe.

Grüsse

Bio

PS:
An die Moderatoren:
Ich bin mir nicht ganz sicher ob ich dies im richtigen Forum schreibe, da es ja auch um ein Buch geht, aber im Allgemeineren um Netzwerktechnologie. Bitte habt Nachsicht mit einem Neuling und verschiebt das ganze einfach wenn es doch am falschen Platz ist 😉
PPS:
Irgendwie zerstört der Editor den Ersten Link zum Artikel in dem er einen HTML Zeilenumbruch einfügt.
Hier Nochmal den link zum kopieren:

 http://www.microsoft.com/germany/msdn/library/windows/windowsvista/MachenSiesichdieLeistungsfaehigkeitderP2PKommunikationinWindowsVistaundWCFzunutze.mspx?mfr=true

18.10.2007 - 22:45 Uhr

hallo zusammen 🙂
ich bin neu hier und wäre an genannten tutorials zur P2P programmierung auch sehr interessiert, da ich auch eine applikation die ohne eigenständigen server auskommt entwickeln möchte (also client/server in einer anwendung) - ähnlich dem Kademlia Protokoll.

für hinweise auf tutorials oder weiterführende literatur wäre ich also auch sehr dankbar.

LG

bio

ps:
nen chat programm in der art habe ich schon fertig und im grunde geht es mir jetzt um die protokoll-entwicklung, insbesondere zur datei-übertragung und am besten zb. via MFTP, also empfangen von mehreren quellen und übertragen zu mehreren empfängern "gleichzeitig".