Hallo,
hab vom Tutorial "Ausführliches TCP und UDP Turorial" Den Code verwendet.
Ein Projekt mit dem Client und ein Projekt mit dem Server. Nur empfange ich nichts. Kann mir bitte jemand helfen
hier mein Code für den Server
und hier der Code für den Client
auf Client Seite bleibt das Programm bei
hängen
hab vom Tutorial "Ausführliches TCP und UDP Turorial" Den Code verwendet.
Ein Projekt mit dem Client und ein Projekt mit dem Server. Nur empfange ich nichts. Kann mir bitte jemand helfen
hier mein Code für den Server
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.IO
- Imports System.Net
- Public Class Form1
- 'Variablen:
- Dim stream As NetworkStream
- Dim streamw As StreamWriter
- Dim streamr As StreamReader
- Dim Server As TcpListener
- Dim client As New TcpClient
- Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 4000)
- Dim mainthread As Threading.Thread
- '______________
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- mainthread = New Threading.Thread(AddressOf mainserver)
- mainthread.Start()
- End Sub
- Sub mainserver()
- ' Try
- Server = New TcpListener(ipendpoint)
- Server.Start()
- client = Server.AcceptTcpClient
- stream = client.GetStream
- streamr = New StreamReader(stream)
- streamw = New StreamWriter(stream) ' Müsste eigentlich alles Klar sein.
- While True
- Select Case streamr.ReadLine
- Case "onl" ' und so weiter eigentlich müsste es heißen select case mid(streamr.readline,1,3) Aber da des ja vielen zu Kompiziert ist lass ich das mal weg^^
- streamw.WriteLine("ok") ' Achtung! ist nicht Vollständig!
- streamw.Flush() ' Code muss angepasst werden.....
- Case "...." ' ......
- Case "logoff" '........
- End Select
- End While
- ' Catch
- ' Hier wieder eine Fehler behandlung und ein neuen Versuch den Server zu starten...
- ' End Try
- End Sub
- Private Sub Form1__close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing
- Server.Stop()
- Try
- mainthread.Abort()
- Catch
- End Try
- End Sub
- End Class
und hier der Code für den Client
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.IO
- Public Class Form1
- 'Variablen:
- Dim stream As NetworkStream
- Dim streamw As StreamWriter
- Dim streamr As StreamReader
- Dim Client As New TcpClient
- Dim IP As String = "127.0.0.1"
- Dim Port As Integer = 4000
- Dim loginname As String = "abc" ' Diese Variable ist nicht Pflicht! Aber nützlich für ein Chatprogram...
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- 'Button1 wird geclickt
- Client.Connect(IP, Port) 'Client verbindet sich mit IP: 192.168.111.17 und Port 4000
- If Client.Connected Then
- stream = Client.GetStream ' Stream wird auf Client verwiesen
- streamw = New StreamWriter(stream) ' Stream zum Senden wird deklariert
- streamr = New StreamReader(stream) ' Stream zum Empfangen wird deklariert
- login() ' Sub Login
- Else
- MsgBox("Verbidnung konnte nicht mit " & IP & " aufgebaut werden!")
- End If
- End Sub
- Sub client_send(ByVal text As String)
- streamw.WriteLine(text)
- streamw.Flush()
- End Sub
- Function client_recieve() As String
- client_recieve = streamr.ReadLine
- End Function
- ' Nach der erfolgreichen verbindung mit der IP und dem Port wird dieser Sub aufgerufen:
- Sub login()
- 'Try
- client_send("onl " & loginname)
- If client_recieve() = "ok" Then 'Oder sonst irgend was. Ist nur ein Beispiel für einen Login
- Send_irgendwas() ' Hier kann gehts zum nächsten sub um irgend welche Daten zu versenden...
- Else
- Exit Sub
- End If
- ' Catch
- ' End Try
- End Sub
- Sub Send_irgendwas()
- client_send("Irgendwas")
- If client_recieve() = "Auch wieder irgendwas..." Then
- '.....
- Else
- '....
- End If
- Client.Close()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- End Sub
- End Class
auf Client Seite bleibt das Programm bei
hängen