Ergebnis 1 bis 6 von 6
  1. #1
    Cyberwar-Hacker Avatar von Lord_Ben@
    Registriert seit
    02.01.2009
    Beiträge
    492

    Standard [Vb.net]Form wird nit geladen

    tach ich habe folgendes prob und zwar würde ich gerne wissen warum hierbei meine form nit geladen wird...
    wäre nett wenn ihr mir helfen könntet.
    Code:
    Imports System.Net.Sockets
    Imports System.IO
    Imports System.Net
    Imports System.Threading
    Public Class Form1
        Private server As TcpListener
        Private client As New TcpClient
        Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
        Private list As New List(Of Connection)
        Dim t As New Threading.Thread(AddressOf ListenToConnection)
        Dim c As New Connection
    
        Private Structure Connection
            Dim stream As NetworkStream
            Dim streamw As StreamWriter
            Dim streamr As StreamReader
            
        End Structure
    
    
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            server = New TcpListener(ipendpoint)
            server.Start()
    
            While True
                client = server.AcceptTcpClient
    
    
                c.stream = client.GetStream
                c.streamr = New StreamReader(c.stream)
                c.streamw = New StreamWriter(c.stream)
    
    
                list.Add(c)
    
    
                t.Start(c)
    
    
            End While
        End Sub
    
        Private Sub ListenToConnection(ByVal con As Connection)
            Do
                Try
                    Dim tmp As String = con.streamr.ReadLine
    
                    For Each c As Connection In list
                        Try
    
                            c.streamw.Flush()
                        Catch
                        End Try
                    Next
                Catch
                    list.Remove(con)
    
                    Exit Do
                End Try
            Loop
        End Sub
    End Class



    Video-Tut No-Ip über Tor
    Bm-Profil
    "The only diffrences between Losers and Winners is, that the Winners have lose more often than the Losers"

  2. #2
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Weil du nicht mit Threads arbeitest. Alles läuft auf dem Haupt-Thread weshalb die Anwendung auch nicht korrekt angezeigt wird. Wie bereits erwähnt das ganze in einem separaten Thread auslagern.

    MfG, Sawyer

  3. #3
    Cyberwar-Hacker Avatar von Lord_Ben@
    Registriert seit
    02.01.2009
    Beiträge
    492

    Standard

    ähm welches ganze kannste mal nen beispiel geben??



    Video-Tut No-Ip über Tor
    Bm-Profil
    "The only diffrences between Losers and Winners is, that the Winners have lose more often than the Losers"

  4. #4
    Richard Stallman Avatar von Sawyer
    Registriert seit
    26.07.2008
    Beiträge
    2.037

    Standard

    Du hast eine Funktion zwar bereits in einem Thread ausgelagert, aber nicht alles. Deinen Verbindungsaufbau solltest du natürlich auch noch einmal extra auslagern.

    Code:
    Imports System.Net.Sockets
    Imports System.IO
    Imports System.Net
    Imports System.Threading
    
    Public Class Form1
        Private server As TcpListener
        Private client As New TcpClient
        Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
        Private list As New List(Of Connection)
        Dim t As New Threading.Thread(AddressOf ListenToConnection)
        Dim c As New Connection
    
        Private Structure Connection
            Dim stream As NetworkStream
            Dim streamw As StreamWriter
            Dim streamr As StreamReader
    
        End Structure
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim th As New Thread(AddressOf Verbinde)
            th.Start()
        End Sub
    
        Private Sub Verbinde()
            server = New TcpListener(ipendpoint)
            server.Start()
    
            While True
                client = server.AcceptTcpClient
    
    
                c.stream = client.GetStream
                c.streamr = New StreamReader(c.stream)
                c.streamw = New StreamWriter(c.stream)
    
    
                list.Add(c)
    
    
                t.Start(c)
    
            End While
        End Sub
    
        Private Sub ListenToConnection(ByVal con As Connection)
            Do
                Try
                    Dim tmp As String = con.streamr.ReadLine
    
                    For Each c As Connection In list
                        Try
    
                            c.streamw.Flush()
                        Catch
                        End Try
                    Next
                Catch
                    list.Remove(con)
    
                    Exit Do
                End Try
            Loop
        End Sub
    End Class
    MfG, Sawyer

  5. #5
    CIH-Virus Avatar von krusty
    Registriert seit
    12.10.2008
    Beiträge
    445

    Standard

    ich erkläre nochmal:
    weil du den source 1 zu 1 von vb-paradise kopiert hast, das ganze nicht in eine konsolenanwendung, sondern WindowsFormsanwendung geschmissen hast und nicht mit threads arbeitest.

    Beispiel
    Dim tThread as new System.Threading.Thread(of Adress SubName)
    tThread.start()

    SubName ist in dem Falle der Name der Sub, die im Thread ausgeführt werden soll.

    Edit:
    to Sawyer so wird es probleme mit den Controlls geben und der Thread im Hintergrund weiterlaufen, sollte das Programm beendet werden
    Geändert von krusty (16.03.2010 um 19:12 Uhr)

  6. #6
    Cyberwar-Hacker Avatar von Lord_Ben@
    Registriert seit
    02.01.2009
    Beiträge
    492

    Standard

    ja das mit den controlls habe ich aber grade noch so hinbekommen



    Video-Tut No-Ip über Tor
    Bm-Profil
    "The only diffrences between Losers and Winners is, that the Winners have lose more often than the Losers"

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •