Null Error

01/04/2013 18:18 clemgregor#1
Ich versuchte mich gerade an einem Tcp Message Programm aber ich finde den fehler nicht wenn ich debuggen will kommt immer dieser

System.Invaild.Operaton.Exception Fehler:

Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt..

Code:
Imports System.IO
Imports System.Threading
Imports System.Net.Sockets

Public Class Form1
    Dim listener As New TcpListener(8000)
    Dim client As New TcpClient
    Dim message As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Thread As New Thread(New ThreadStart(AddressOf listening))
        listener.Start()
    End Sub

    Private Sub listening()
        listener.Start()
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

        Dim Uhrzeit As String = My.Computer.Clock.LocalTime.ToShortTimeString

        client = New TcpClient(TextBox1.Text, 8000)
        Dim streamwriter As New StreamWriter(client.GetStream())
        streamwriter.Write(TextBox2.Text)
        TextBox3.AppendText("Du:" & Uhrzeit & " " & TextBox2.Text)
        streamwriter.Flush()
        TextBox2.Clear()

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim Uhrzeit As String = My.Computer.Clock.LocalTime.ToShortTimeString

        If listener.Pending = True Then
            message = ""

            client = listener.AcceptTcpClient
            Dim streamr As New StreamReader(client.GetStream())
            While streamr.Peek > -1

                message = message + Convert.ToChar(streamr.Read()).ToString
            End While

            TextBox2.AppendText("Er:" & Uhrzeit & " " & TextBox2.Text)


        End If

    End Sub
End Class
01/04/2013 18:27 Kraizy​#2
Hab mir nicht alles angeschaut, aber liegt sehr wahrscheinlich an dieser Zeile:
PHP Code:
Dim listener As New TcpListener(TextBox4.Text
Zu der Zeit ist die TextBox4 nämlich noch nicht vorhanden.
01/04/2013 18:31 clemgregor#3
Jo bin selber draufgekommen aber wie mache ich es das ich den Port selber bestimmen kann mit einer textbox ?
01/04/2013 18:33 Kraizy​#4
Du hast da nen kleinen Fehler gemacht, was die Parameter angeht.

PHP Code:
Public Class Form1
   Dim listener 
As TCPListener

   
Public Sub New()
      
InitializeComponent()
      
listener = New TcpListener(IPAddress.Parse(textboxIP.Text), CInt(textboxPort.Text))
   
End Sub
End 
Class 
Vorausgesetzt in den TextBoxen steht schon was drinne. Wenn nicht, dann schreib erst die IP+Port in die TextBox und pack den Code ins Button_Click-Ereignis, oder nutz einfach Variablen.
01/04/2013 22:04 clemgregor#5
Neuer error: Parse ist kein member von System.Windows.Texbox
01/04/2013 22:07 Kraizy​#6
Quote:
Originally Posted by clemgregor View Post
Neuer error: Parse ist kein member von System.Windows.Texbox
Du musst ja auch den Text der TextBox nehmen und nicht die TextBox selbst.
01/04/2013 22:17 clemgregor#7
Habs selber gefixxt nunja aber es kommt jetzt keine Msg wenn ich sie an 127.0.0.1 schike o.O naja egal
01/04/2013 22:35 Kraizy​#8
Ich kann dir ja mal morgen nen kleines Beispiel coden, bin grade am Handy..aber du könntest auch einfach "vb.net tcp client" bei Google eingeben, da kommen tausende Beispiele.
P.S. [Only registered and activated users can see links. Click Here To Register...]
01/04/2013 22:37 GodHacker#9
Quote:
Originally Posted by clemgregor View Post
Habs selber gefixxt nunja aber es kommt jetzt keine Msg wenn ich sie an 127.0.0.1 schike o.O naja egal
Es ist die Adresse vom Lokalhost.
Lies dir dies mal zu dem Thema durch (vllt hilft es): localhost

Um diese Adresse zu nutzen musst du einen lokalen Webserver gestartet haben, welcher Port 80 nutzt. Solltest du dies nicht tun, so dürfte dort auch nichts ankommen (im Normalfall).
*So wurde es mir beigebracht*
01/04/2013 22:39 Kraizy​#10
Webserver? Port 80? Er kann einfach einen TCPListener als Server und nen TCPClient als Client lokal auf seinem PC nutzen, egal über welchen Port.