Bin neu in VB.NET nach langen VB6.0 Jahren. Ich versuche gerade eine UDP peer-to-peer Kommunikation zwischen zwei lokalen Rechner aufzubauen. Leider klappt es nur in eine Richtung und ich befürchte meine Unkenntnis hat einige Fhler verursacht. Ich wäre sehr froh, wenn jemand auf die Sourcodes schauen und Rückmeldung geben könnte.
Besten Dank
Edit by ~blaze~:
*Codetag eingefügt*
Besten Dank
VB.NET-Quellcode
- GB
- 'SENDER
- Imports System.Net.Sockets
- Public Class Form1
- Dim IP As String = "192.168.0.1" 'Beispiel IP
- Dim LocalPort As Integer = 8800 'Empfaenger-Port
- Dim Port As Integer = 8801 'Sender-Port
- Dim RemoteEndPoint As New Net.IPEndPoint(Net.IPAddress.Parse(IP), LocalPort)
- Dim Client As New UdpClient()
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'Client.Connect(IP, Port)
- Dim ReceiveThread As New System.Threading.Thread(AddressOf ReceiveData)
- ReceiveThread.IsBackground = True
- ReceiveThread.Start()
- End Sub
- Private Sub ReceiveData()
- Dim Client As New UdpClient(LocalPort)
- Do
- Try
- Dim Data() As Byte = Client.Receive(Nothing)
- Dim Text As String = System.Text.Encoding.UTF8.GetString(Data)
- 'Die Variable Text enthält nun den Nachrichtentext
- ' MessageBox.Show(Text, "Umfrage")
- UpdateTextBox(Text)
- Catch Err As Exception
- 'Es ist ein Fehler aufgetreten
- End Try
- Loop
- End Sub
- Private Sub SendData()
- Dim Client As New UdpClient(LocalPort)
- Dim Text As String = TextBox2.Text
- Try
- Dim Data() As Byte = System.Text.Encoding.UTF8.GetBytes(Text)
- Client.Send(Data, Data.Length, RemoteEndPoint)
- Catch Err As Exception
- 'Es ist ein Fehler aufgetreten
- End Try
- End Sub
- Private Sub UpdateTextBox(ByVal number As String)
- If Me.InvokeRequired Then
- Dim args() As String = {number}
- Me.Invoke(New Action(Of String)(AddressOf UpdateTextBox), args)
- Return
- End If
- TextBox1.Text = TextBox1.Text & Chr(13) & Chr(10) & number
- End Sub
- Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
- End Sub
- End Class
- RECEIVER
- Imports System.Net.Sockets
- Public Class Form1
- Dim IP As String = "192.168.0.1" 'Beispiel IP
- Dim LocalPort As Integer = 8800 'Empfaenger-Port
- Dim Port As Integer = 8801 'Sender-Port
- Dim RemoteEndPoint As New Net.IPEndPoint(Net.IPAddress.Parse(IP), LocalPort)
- Dim Client As New UdpClient()
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'Client.Connect(IP, Port)
- Dim ReceiveThread As New System.Threading.Thread(AddressOf ReceiveData)
- ReceiveThread.IsBackground = True
- ReceiveThread.Start()
- End Sub
- Private Sub ReceiveData()
- Dim Client As New UdpClient(LocalPort)
- Do
- Try
- Dim Data() As Byte = Client.Receive(Nothing)
- Dim Text As String = System.Text.Encoding.UTF8.GetString(Data)
- 'Die Variable Text enthält nun den Nachrichtentext
- ' MessageBox.Show(Text, "Umfrage")
- UpdateTextBox(Text)
- Catch Err As Exception
- 'Es ist ein Fehler aufgetreten
- End Try
- Loop
- End Sub
- Private Sub SendData()
- Dim Client As New UdpClient(LocalPort)
- Dim Text As String = TextBox2.Text
- Try
- Dim Data() As Byte = System.Text.Encoding.UTF8.GetBytes(Text)
- Client.Send(Data, Data.Length, RemoteEndPoint)
- Catch Err As Exception
- 'Es ist ein Fehler aufgetreten
- End Try
- End Sub
- Private Sub UpdateTextBox(ByVal number As String)
- If Me.InvokeRequired Then
- Dim args() As String = {number}
- Me.Invoke(New Action(Of String)(AddressOf UpdateTextBox), args)
- Return
- End If
- TextBox1.Text = TextBox1.Text & Chr(13) & Chr(10) & number
- End Sub
- Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
- End Sub
- End Class
Edit by ~blaze~:
*Codetag eingefügt*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()