Label Bei beiden Aktualisieren

  • VB.NET
  • .NET (FX) 4.0

Es gibt 58 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    hmm - meinem Verständnis - s.Post#13 - als "Online-Pinwand" hat es nichts neues hinzugefügt, eher Fragen aufgeworfen wie:
    • Was ist ein Launcher?
    • Wie kannst du sagen, irgendetwas sei davon fertig, wenn doch scheints noch garnichts funktioniert?
    • Was hat die Konsole damit zu tun?
    • Welche Note hattest du in Deutsch, wenn du solche Sätze verzapfst: "Nur das das ganze im Programm etwa mit 100 Passiert..." (soso mit 100 - was immer das für hundert sein mögen. Und "das ganze" - was immer damit gemeint sein mag.)?
    Sorry - der letzte war gemein, und eiglich alle 4 Fragen unnötig, wie gesagt, ich glaub ich hatte schon viel früher verstanden.

    Und tatsächlich enthält die Erwähnung von "100" - ich nehme nämlich an, es sind 100 Clients damit gemeint - eine Zusatz-Info:
    Offsichtlich ist vorgesehen, dass mehrere Clients gleichzeitig aktiv sind - der Server muss also eine Liste der verbundenen Clients verwalten.
    Hätte ja auch sein können, der Server bedient immer nur ein Client, und lässt den nächsten erst zu, wenn der vorherige abgefertigt ist - wäre vergleichsweise einfach umzusetzen.

    Aber da ist noch einiges mehr zu konzipieren: Soll der Server wirklich jedem Client, der sich verbindet, als erstes die komplette Pinwand antworten?
    Also bis ein paar tausend Zeilen Text ist das sicher kein Problem, aber prinzipiell muss man mal überlegen, ob nicht irgendwann auch mal was runtergenommen werden sollte von der Pinwand, oder?
    Zumindest bei realen Pinwänden ist das so. ;)
    1. Ein Verwaltungs Programm so in der art
    2. Das Meiste ist fertig fehlt nur noch das Aktualisieren via TCP Usw...
    3. Diese sollte es weiter senden [server]
    4. Ich habe eine Rechtschreib schwäche ^^ Danke ^^
    5. Nein ich meine keine 100 Clienten.. ich meine 100 Label...

    Ja es sollen mehrere Rauf können.. und ja man soll auch etwas ändern können.../ Entfernen...

    Der Teil ist ja schon getan...
    Es ist so gemacht Ich habe 2 Comboboxen und 1 Speicher knopf...
    User 1 Wählt seine wahl aus Drückt auf Ändern und speichern Das Label Wird geändert...
    Und wenn es geändert werden soll auf die gleiche art ;)

    Also Soll Label 1 an der Position sein wo es ist und einfach nur Jedesmal geändert werden...

    Das ist der Multiserver Den ich hier Gefunden habe name fällt mir grad ned ein...

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.IO
    3. Imports System.Net
    4. Imports System.Reflection.Emit
    5. ' TCP-MultiServer
    6. Module Module1
    7. Private server As TcpListener
    8. Private client As New TcpClient
    9. Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
    10. Private list As New List(Of Connection)
    11. Private Structure Connection
    12. Dim stream As NetworkStream
    13. Dim streamw As StreamWriter
    14. Dim streamr As StreamReader
    15. Dim nick As String ' natürlich optional, aber für die identifikation des clients empfehlenswert.
    16. End Structure
    17. Private Sub SendToAllClients(ByVal s As String)
    18. For Each c As Connection In list ' an alle clients weitersenden.
    19. Try
    20. c.streamw.WriteLine(s)
    21. c.streamw.Flush()
    22. Catch
    23. End Try
    24. Next
    25. End Sub
    26. Sub Main()
    27. Console.ForegroundColor = ConsoleColor.Red
    28. Console.BackgroundColor = ConsoleColor.Black
    29. Console.WriteLine(":: SERVER GESTARTET ::")
    30. server = New TcpListener(ipendpoint)
    31. server.Start()
    32. While True ' wir warten auf eine neue verbindung...
    33. client = server.AcceptTcpClient
    34. Dim c As New Connection ' und erstellen für die neue verbindung eine neue connection...
    35. c.stream = client.GetStream
    36. c.streamr = New StreamReader(c.stream)
    37. c.streamw = New StreamWriter(c.stream)
    38. c.nick = c.streamr.ReadLine ' falls das mit dem nick nicht gewünscht, auch diese zeile entfernen.
    39. list.Add(c) ' und fügen sie der liste der clients hinzu.
    40. Console.WriteLine(c.nick & "-> Hat den server betreten!.")
    41. ' falls alle anderen das auch lesen sollen können, an alle clients weiterleiten. siehe SendToAllClients
    42. Dim t As New Threading.Thread(AddressOf ListenToConnection)
    43. t.Start(c)
    44. 'test
    45. 'TEST ENDE
    46. End While
    47. End Sub
    48. Private Sub ListenToConnection(ByVal con As Connection)
    49. Do
    50. Try
    51. Dim tmp As String = con.streamr.ReadLine ' warten, bis etwas empfangen wird...
    52. Console.WriteLine(con.nick & "-> " & tmp)
    53. SendToAllClients(con.nick & "-> " & tmp) ' an alle clients weitersenden.
    54. Catch ' die aktuelle überwachte verbindung hat sich wohl verabschiedet.
    55. list.Remove(con)
    56. Console.WriteLine(con.nick & " -> Hat den Server verlassen!.")
    57. Exit Do
    58. End Try
    59. Loop
    60. End Sub
    61. End Module


    Ich habe es geschafft mit:

    VB.NET-Quellcode

    1. streamw.WriteLine()
    2. streamw.Flush()
    Eine nachricht an die Console zu senden... aber es kommt nichts bei Client 2 an Und es kommt 4x Es konnte keine verbindung hergestellt werden...

    Und ich muss jetzt was ändern damit er die Label änderung an den server sendet und sobald ein Client Online Kommt er die änderung sendet?!

    Ein bisschen Hilfe wär nicht schlecht xD [Hab bis jetzt nur TCPChat Tut´s Gefunden aber sonst nichts Hilfreichen...

    @ErfinderDesRades Strict Off ist jetzt was :D ?!

    xX-Nick-Xx schrieb:

    @ErfinderDesRades Strict Off ist jetzt was :D ?!
    Ich hab doch ein Tut verlinkt, da ists doch ausführlich erklärt.
    Ich kanns auch auf den Punkt bringen: Strict Off ist K..ke!

    Daher folge dem Tut: Visual Studio - Empfohlene Einstellungen - deswegen habichs ja auch verlinkt.

    Minimal schreib einfach "Option Strict On" über deine Server-Gurke, dann dürfte der Compiler einen wichtigen Fehler zutage fördern.

    Oder?

    ErfinderDesRades schrieb:

    "Option Strict On"


    ErfinderDesRades schrieb:

    xX-Nick-Xx schrieb:

    @ErfinderDesRades Strict Off ist jetzt was :D ?!
    Ich hab doch ein Tut verlinkt, da ists doch ausführlich erklärt.
    Ich kanns auch auf den Punkt bringen: Strict Off ist K..ke!

    Daher folge dem Tut: Visual Studio - Empfohlene Einstellungen - deswegen habichs ja auch verlinkt.

    Minimal schreib einfach "Option Strict On" über deine Server-Gurke, dann dürfte der Compiler einen wichtigen Fehler zutage fördern.

    Oder?
    Hab ich gemacht...?!

    Es Lässt sich erstellen Debugen usw

    Log:

    VB.NET-Quellcode

    1. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    2. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    3. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    4. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    5. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    6. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    7. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\14.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    8. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Users\nico9\Desktop\SimuBrowserNEW\SimuServer\SimuServer\bin\Debug\SimuServer.vshost.exe" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    9. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    10. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    11. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    12. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    13. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    14. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    15. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Net.Http\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Net.Http.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    16. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    17. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" geladen. Das Modul wurde ohne Symbole erstellt.
    18. Der Thread 0x1b8c hat mit Code 0 (0x0) geendet.
    19. Der Thread 0xd74 hat mit Code 0 (0x0) geendet.
    20. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Users\nico9\Desktop\SimuBrowserNEW\SimuServer\SimuServer\bin\Debug\SimuServer.exe" geladen. Symbole wurden geladen.
    21. "SimuServer.vshost.exe" (CLR v4.0.30319: SimuServer.vshost.exe): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
    22. Der Thread 0x1db0 hat mit Code 0 (0x0) geendet.

    Okay habs vergessen auf On zu setzen :D :D

    VB.NET-Quellcode

    1. Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
    2. BC30518 Fehler bei der Überladungsauflösung, da keine zugreifbare "New" mit diesen Argumenten aufgerufen werden kann:
    3. "Public Overloads Sub New(start As ThreadStart)": Die Signatur der Private Sub ListenToConnection(con As Module1.Connection)-Methode ist mit dem Delegaten "Delegate Sub ThreadStart()" nicht kompatibel.
    4. "Public Overloads Sub New(start As ParameterizedThreadStart)": "Option Strict On" erlaubt keine Einschränkungen in impliziten Typkonvertierungen zwischen der Private Sub ListenToConnection(con As Module1.Connection)-Methode und dem Delegaten "Delegate Sub ParameterizedThreadStart(obj As Object)". SimuServer C:\Users\nico9\Desktop\SimuBrowserNEW\SimuServer\SimuServer\Module1.vb 51 Aktiv


    :D

    ja, also da steht:
    Die Signatur der Private Sub ListenToConnection(con As Module1.Connection)-Methode ist mit dem Delegaten "Delegate Sub ThreadStart()" nicht kompatibel.
    Nun musst du mal gucken, wie der Delegat ThreadStart definiert ist.
    Such den im ObjectBrowser.

    Objectbrowser kennste? sonst guggemol VisualStudio richtig nutzen (Google ist nicht deine Mami) - da ist filmisch gezeigt, wie man damit durch seine Objecte browst. (naja, wesentlich hier ist ja nur, "Threadstart" in die OB-Suche einzugeben)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „ErfinderDesRades“ ()

    ist ja schon wieder überaus misteriös: Die Fehlermeldung sagt, dass deine Methode zu ThreadStart nicht kompatibel sei, aber im Objectbrowser sollte ThreadStart garnet vorkommen?
    Wieso kommts in meinem OB vor?
    Überprüf nochmal die Rechtschreibung, oder kopier dir das Wort richtig aus.
    Falls immer noch nicht, sind die Einstellungen in deim OB vermurkst.
    Dann musste das Filmle glaub doch nochmal durchgucken, und auch das Tut lesen, und auch, wohin das weiter verlinkt - iwo habich haarklein vorgekaut, wie man den OB ordentlich einstellt.