Hallo,
ich habe folgendes Problem.
Ich habe einen Code, mit dem ich auf einem Port abhöre, ob Daten vorhanden sind.
Falls ja, möchte ich diese empfangen. Das klappt auch super.
Jetzt möchte ich, dass wenn ich von einem anderem PC Daten an diese IP-Adresse und dem Port schicke, diese auch empfangen.
Das funktioniert nicht.
Ich habe folgenden Code auf dem Server:
Hier das Modul:
Auf dem Client PC habe ich folgenden Code:
Kann mir bitte bitte jemand weiterhelfen???
Danke schon mal im Vorraus!
ich habe folgendes Problem.
Ich habe einen Code, mit dem ich auf einem Port abhöre, ob Daten vorhanden sind.
Falls ja, möchte ich diese empfangen. Das klappt auch super.
Jetzt möchte ich, dass wenn ich von einem anderem PC Daten an diese IP-Adresse und dem Port schicke, diese auch empfangen.
Das funktioniert nicht.
Ich habe folgenden Code auf dem Server:
Quellcode
- Imports MSCommLib
- Imports System.IO
- Imports System.IO.Path
- Imports System.Net.Sockets
- Imports System.Net
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- txt_Text.Text = ""
- Timer1.Start()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- 'Zuhörer startet
- Listener.Start()
- If Listener.Pending = True And Host.Connected = False Then
- Host = Listener.AcceptTcpClient()
- Networkstream1 = Host.GetStream
- End If
- If Host.Client.Available > 0 Then
- txt_Text.Text = ""
- Dim Buffer(Host.Client.Available) As Byte
- Networkstream1.Read(Buffer, 0, Host.Client.Available)
- For Each item As Byte In Buffer
- txt_Text.Text &= Microsoft.VisualBasic.Chr(item)
- Next
- End If
- End Sub
- End Class
Hier das Modul:
Auf dem Client PC habe ich folgenden Code:
Quellcode
- Imports System.Net.Sockets
- Imports System.Text
- Imports System.IO
- Public Class Form1
- Dim stream As NetworkStream
- Dim streamw As StreamWriter
- Dim streamr As StreamReader
- Dim Client As New TcpClient
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Timer1.Start()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Dim Port As Integer = 12345
- Client.Connect(192.164.563.22, Port)
- Try
- If Client.Connected Then
- Stream = Client.GetStream ' Stream wird auf Client verwiesen
- streamw = New StreamWriter(Stream) ' Stream zum Senden
- streamr = New StreamReader(Stream) ' Stream zum Empfangen
- login()
- Else
- MsgBox("Verbidnung mit 192.164.563.22 konnte nicht" & _
- "aufgebaut werden!")
- End If
- Catch
- MsgBox("Client ist nicht verbunden")
- End Try
- 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 erfolgreicher Verbindung:
- Sub login()
- Try
- 'Senden/Empfangen:
- client_send("online")
- client_recieve()
- If client_recieve() = "ok" Then
- MsgBox("Übertragung funktioniert")
- Client.Close()
- Else
- MsgBox("Fehler bei der Übertragung")
- Exit Sub
- Client.Close()
- End If
- Catch
- MsgBox("fehler beim SubAufruf")
- Client.Close()
- End Try
- End Sub
- End Class
Kann mir bitte bitte jemand weiterhelfen???
Danke schon mal im Vorraus!