Hallo zusammen.
Ich muss mit einem Gerät via Ethernet Kommunizieren und dabei ist es wichtig, das Gerät zu aktivieren und dann zu messen wie lange dieses zum Booten benötigt. Also die Zeit vom bestromen bis eine Socket Verbindung aufgebaut werden kann.
Hier mein Lösungsansatz:
Wenn das Gerät bereits läuft und ich starte dann das Programm, dann funktioniert das ganze wie gewollt, wenn jedoch die Bootzeit abgewartet wird, erscheint immer folgende Fehlermeldung (siehe Anhang)
BG
*Topic verschoben*
Ich muss mit einem Gerät via Ethernet Kommunizieren und dabei ist es wichtig, das Gerät zu aktivieren und dann zu messen wie lange dieses zum Booten benötigt. Also die Zeit vom bestromen bis eine Socket Verbindung aufgebaut werden kann.
Hier mein Lösungsansatz:
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.IO
- Imports System.ComponentModel
- Imports System.Text
- Public Class Form1
- Dim i As Integer = 0
- Dim success
- Dim result
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Connect()
- End Sub
- Public Sub Connect()
- StartConnection:
- Try
- Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
- result = s.BeginConnect("10.0.0.1", 1300, New AsyncCallback(AddressOf s.EndConnect), s)
- success = result.AsyncWaitHandle.WaitOne(1000, True)
- If success = True Then
- Label1.Text = "Connected"
- Timer1.Stop()
- Timer1.Dispose()
- Else
- success = Nothing
- GoTo StartConnection
- End If
- Catch ex As Exception
- Messagebox.show(ex.Message)
- End Try
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- i += 1
- Label1.Text = i
- End Sub
- End Class
Wenn das Gerät bereits läuft und ich starte dann das Programm, dann funktioniert das ganze wie gewollt, wenn jedoch die Bootzeit abgewartet wird, erscheint immer folgende Fehlermeldung (siehe Anhang)
BG
*Topic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()