myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » Wo finde ich ein Beispiel eines TCP Listeners im WPF?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wo finde ich ein Beispiel eines TCP Listeners im WPF?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
ado683 ado683 ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 27
Entwicklungsumgebung: visual studio


ado683 ist offline

Wo finde ich ein Beispiel eines TCP Listeners im WPF?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo hat irgendjemand mal ein Beispiel von einem TCP Listener in der WPF vorhanden?

Auf youtube etc. gehen die meisten nur darauf ein wenn man windows forms benutzt und da händeln das die leute mit dem invokerequired, Wpf bietet das halt nicht an. Ich habe eigentlich auch schon eine Lösung meine Frage ist jetzt nur wie kann ich daten empfangen?

Also mein Server startet und verbindet sich aber dann passiert nicht viel. Weiß nicht wie ich weiter vorgehen muss.

C#-Code:
using System.Windows;
using System;
using System.Text;
using System.Net.Sockets;
using System.Threading;
using System.Net;


namespace TCP_Listener
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {

        private int port;
        private bool loop = true;
        private TcpListener serverListener;
        private Socket serverAcceptSocket;


        public MainWindow()
        {
            InitializeComponent();
        }

        public void TcpServer()
        {
            try
            {
                IPAddress ipadd = IPAddress.Parse("127.0.0.1");
                port = Int32.Parse(tBox_Port.Text);

                serverListener = new TcpListener(ipadd, 45455);
                serverListener.Start();
                textBoxVerbunden.Text = "TCP Server Start";
                Thread serverThread = new Thread(new ThreadStart(Receive_From_Client));

            }
            catch
            {

            }
        }



        public void Receive_From_Client()
        {
            loop = true;
            try
            {
                serverAcceptSocket = serverListener.AcceptSocket();

                while (loop)
                {
                    if (serverAcceptSocket.Connected)
                    {
                        try
                        {

                            byte[] receiveByte = new byte[1024];
                            int nValue = serverAcceptSocket.Receive(receiveByte, receiveByte.Length, 0);

                            if (nValue > 0)
                            {
                                string data = null;
                                data = Encoding.Unicode.GetString(receiveByte);

                                tBox_Outcoming.Text = data;
                            }

                        }
                        catch
                        {

                        }
                    }
                    else
                    {
                        TCP_Close();
                    }
                }
            }
            catch
            {

            }
        }

        public void TCP_Close()
        {
            if (loop == true) loop = false;

            if(serverAcceptSocket != null)
            {
                serverAcceptSocket.Close();
            }

            if(serverListener != null)
            {
                serverListener.Stop();
            }

        }

        private void btn_Send_Click(object sender, RoutedEventArgs e)
        {
            string data = string.Format("{0}", tBox_Outcoming.Text);

            //string data = "<cmdMessage cmdID=\"123ABC\"><![CDATA[<font size=\"+2\" color=\"#ffffff\">Hello World!</font>]]></cmdMessage>";
            byte[] buffer = Encoding.Unicode.GetBytes(data);
            serverAcceptSocket.Send(buffer, 0, buffer.Length, 0);
        }


        private void btnServerStart_Click(object sender, RoutedEventArgs e)
        {
            TcpServer();
        }


    }

}

danke
05.02.2019 14:14 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
markl markl ist männlich
myCSharp.de-Mitglied

avatar-4095.gif


Dabei seit: 29.09.2016
Beiträge: 77
Entwicklungsumgebung: VS2017 and VSC


markl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

WPF und TCP haben erstmal wenig mit einander zu tun.

Was du sucht ist ein Dispatcher:

 https://docs.microsoft.com/de-de/dotnet/api/system.windows.threading.dispatcher?view=netframework-4.7.2
05.02.2019 14:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
ado683 ado683 ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 27
Entwicklungsumgebung: visual studio

Themenstarter Thema begonnen von ado683

ado683 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

dankeschön habe das aber jetzt alles anders gelöst. mit dem backgroundworker
06.02.2019 11:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stefan.Haegele Stefan.Haegele ist männlich
myCSharp.de-Mitglied

avatar-3068.jpg


Dabei seit: 13.03.2009
Beiträge: 402
Entwicklungsumgebung: Visual Studio 2010 Ultimat
Herkunft: Untermeitingen


Stefan.Haegele ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Und wie dir schon mehrfach gesagt wurde:  [Tipp] Anfängerhinweis == true / == false
06.02.2019 14:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 25.10.2020 23:19