vb 2013 TCP Chat

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von Thiemo1991.

    vb 2013 TCP Chat

    Hallo Leute,

    ich habe ein Server für den TCP Chat den ich wirklich nun mache, programmiert aber nun möchte ich die Console mit der Windows Form veerbinden - ich weis nur nicht wie dafür der Befehl dazu heißt.

    Könnt ihr mir dabei nur den Code nennen?

    MFG
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Hallo,


    Console mit Widnows Forms verbinden? Dazu brauchst du nen eigenen Thread und dann ein Process, d.h. System.ComponentModel.Proccess.

    In den öffnest du mit der StartInfo eigenschaft die Consolen Anwendung und anschlißend musst du RedirectStandartOutput und RedirectStandartInput verwenden, die geben endsprechende Streamreader und endsprechende Streamwriter zurück. Ahja, ich glaube diese funktionen müssen in der StartInfo eigenschaft auch erfstmal Aktiviert werden.

    LG, Herbrich
    @TE

    Erstens:
    Tipps für eine höhere Antwortquote

    Zweitens:
    Wir sind nicht hier um dir deine Arbeit abzunehmen, sondern um dir deine Problemstellung näher zu erläutern und dir Tipps geben, diese besser zu verstehen.

    Drittens:
    Wenn du schon Hilfe benötigst, erläutere deine Problemstellung (dies ist ebenso ein Kriterium im oben angeführten Link)

    Mfg

    TehBasic

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TehBasic“ ()

    Hallo,

    Ich kann dir den Multiserver von vbparadise endpfelen, oder halt eben auch einige gute YouTube Tutoirals, alerdings wird C&P nicht einfach so funktionieren.

    LG, Herbrich
    Ich habe den Server bereits schon fertig aber jetzt möchte ich das - nachdem der Server erfolgreich gestartet ist - eine (aber) Windows-Forms-Anwendung sich mit öffnet. Dabei brauche ich nur den Befehl dazu.
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Hallo,

    du kannst die Windows Forms anwendung sicherlich einfach Starten, oder aber du Startest aus der Windows Forms anwendung mit Process.Start einfach eine Instanz der Server Anwendung (Console Anwendung). Ich habe dir da dpch schon oben in meinen Post erste ansätze gegeben wie du dass machen könntest :)
    Ich gebe euch nun den Code den ich bereits habe und ihr könnt ja es dann einfach einfügen.

    VB.NET-Quellcode

    1. ​Imports EasyTCPLib
    2. Module server
    3. Dim WithEvents server As New Managed.ManagedMultiServer(Net.IPAddress.Any, 800)
    4. Sub Main()
    5. AddHandler server.ClientJoined, AddressOf joint
    6. AddHandler server.ClientExited, AddressOf offline
    7. server.Start()
    8. server.BeginAcceptingClients()
    9. Console.WriteLine("Der Sever ist erfolgreich gestartet.")
    10. Console.ReadLine()
    11. End Sub
    12. Private Sub joint()
    13. For Each i As Managed.ManagedMultiServer.Connection In server.Clients
    14. server.Send(i, "Ein neuer User ist online.")
    15. Next
    16. End Sub
    17. Private Sub offline()
    18. For Each i As Managed.ManagedMultiServer.Connection In server.Clients
    19. server.Send(i, "Der User ist offline gegangen.")
    20. Next
    21. End Sub
    22. Private Sub server_DataReceived(sender As Object, e As Managed.DataReceivedArgs, con As Managed.ManagedMultiServer.Connection) Handles server.DataReceived
    23. For Each i As Managed.ManagedMultiServer.Connection In server.Clients
    24. server.Send(i, e.Value)
    25. Next
    26. End Sub
    27. End Module
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Dann pack deinen "ManagedServer" in eine neue Windows Anwendung, Starte ihn in nen neuen Threadh und erstele delegationen um illegal corss thread calls auf die gui zu verhindern und Fertig. Ist jetzt eig (für mich) ne Sache von 5 min, dann hast du zwar ne komplett neue Application und brauchst die CLI nicht mehr aber darfür viel schneller und viel Sauberer. Alerdings würde ich Server als Dienste laufen lassen und nicht als WinForms^^
    Ich möchte nur den kompletten Befehl von irgendwem gerne wissen, wie man wenn die Konsolenanwendung erfolgreich verbunden hat dass danach sich eine Windows-Forms-Anwendung auch dann sich öffnet.
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de

    zn-gong schrieb:

    oder halt eben auch einige gute YouTube Tutoirals

    Bitte, ich hoffe das war nicht ernst gemeint. YouTube ist die mitunter schlechteste Quelle, wo man VB.NET lernen kann.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Thiemo1991
    ich will geld! gibst du mir welches?
    ich will kostenloses benzin für mein auto! gibst du mir welches?
    ich will ne villa! gibts du mir eine?

    wir geben dir keinen code! sondern helfen dir wie du es machen kannst! willst du in einer anwendung deine console und noch was haben oder soll die console eine externe anwendung sein?
    Habe ich dir doch gesagt.

    Erstmal

    VB.NET-Quellcode

    1. ​Imports System.ComponentModel


    Dann in der SubMain for der WhileTrue (die ja da sein muss damit dass Programm dauerhaft läuft^^

    VB.NET-Quellcode

    1. Dim p as new Process
    2. p.StartInfo.Fille = "Pfat zu deiner Anendung"
    3. p.Start()


    So, aber hier wird dir NIEMAND alles vorkauen. Wen du willst kannst du uns hier deinen Coode samit Frage posten wen du ein spezifisches problem hast aber keienr wird für dich Arbeiten. Sonst scha auf den ganzen Frelencer seiten nach und zahl gefäligst für deinen Coode, ich habe dir schon merfach gesagt wie du es machen musst aber du hast es (scheinbar??) einfach ignoriert und langsam habe ich kein bock mehr dir alles vor zu kauen!

    LG, Herbrich
    Ganz ehrlich, wir haben Verständnis für Deine Benachteiligung. Aber das ist keine Benachteilgung, mit der Du nicht klar denken kannst o. ä.
    Auch wenn es etwas langsamer ist.

    Deshalb würde ich Dich bitten nicht deshalb immer um Code zu betteln. Macht das denn überhaupt Sinn, wenn Du sowas schreibst? Weil Du weißt ja noch gar nicht, wo Du anfangen musst o. ä. und da ist so nen Projekt doch wenig sinnvoll.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Ich habe die Windows-Forms-Anwendung mit in diesem Projekt, also nun ist bei mir die Frage, was ich bei "Pfat zu deiner Anendung" rein schreiben muss. Diese Windows-Forms-Anwendung ist noch im selben Ordner wie die Konsolenanwendung.
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thiemo1991“ ()

    Ok nur um dass richtig zu verstehen? Du hast also einfach eine Console Application erstellt und da drinnen dein ManagedServer reingepackt??

    Also gut, dencken wir mal wetier....

    Dann hast du also weiterhin eine Windows Form da rein gepackt (in die Consolen Anwendung) gepackt. Und diese willst du jetzt aufrufen??

    Ich würde mal sagen dass du darfür die AppConfig extrem Modifizieren kann dass z.B. in einen Treadh eine Console und in anderen die Windows Forms angezeigt werden. Vieleicht würde ich sogar ein schritt weiter gehen und dass ganze in zwei Seperate AppDomains trennen.

    Deswegen würde ich einfach nur eine neue Anwendung machen und die Windows Forms da rein auslagern, anschlißend würde ich ein Launcher erstellen der beide Programme in endsprechender reinfolge Startet, odeer aber die Windows Forms Anwendung startet nach den laden von sich selbst die Consolen anwendung, und dann halt mit RedirectStandartOutput und RedirectStandartInput arbeiten. Und? Du hast also dein Problem dann gelöst. !
    Das verstehe ich nicht, was du meinst.

    Ich habe schon mal den Code früher mal gewusst aber nun habe ich den vergessen und deshalb habe ich auch diese Frage gestellt.

    Was kommt denn bei "Pfad zu deiner Anwendung" denn überhaupt rein?
    Wie man mich kontaktieren kann:
    thiemo-melhorn.de
    Hallo,

    Ich dencke du hast deinen Server (Server.EXE)
    Und die WindowsForm (ServerUI.EXE)

    In Pfad zur Anwendung kommt nur der Vollständige Pfad zur ServerUI.EXE rein.

    LG, Herbrich