hallo.
evtl liegt es an einer Schwachstelle in WIndows-Vista, jedoch führt mein aktueller Port-Test-algorythmus zum Programmabstürz bei anderen Rechnern. auf meinem (win XP) funktioniert's einwandfrei.
WANIP und EigeneIP sind die Wan-IP und die ComputerIP des eigenen Computers als IpAdress-Objekt.
die entsprechende Fehlermeldung auf anderen Systemen im Debug-Modus gab folgendes aus:
gibt es eine andere Möglichkeit, Ports zu testen?
und warum gibt das hier zumindest bei Vista fehler?
evtl liegt es an einer Schwachstelle in WIndows-Vista, jedoch führt mein aktueller Port-Test-algorythmus zum Programmabstürz bei anderen Rechnern. auf meinem (win XP) funktioniert's einwandfrei.
VB.NET-Quellcode
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Cursor = Cursors.WaitCursor
- Dim se As New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.IP)
- Dim ep As New Net.IPEndPoint(WANIP, NumericUpDown5.Value)
- Dim se1 As New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.IP)
- de = New Threading.Thread(AddressOf sowas)
- de.Start(se1)
- Try
- se.Connect(ep)
- Label19.Text = "OK"
- logger("Port-Test erfolgreich für: " & NumericUpDown5.Value)
- se.Close()
- Catch ex As Exception
- de.Abort()
- se1.Close()
- Label19.Text = "Test fehlgeschlagen (Port bitte freischalten)"
- logger("Port-Test fehlgeschlagen für: " & NumericUpDown5.Value)
- End Try
- TextBox3.Text = erg
- Cursor = Cursors.Default
- End Sub
WANIP und EigeneIP sind die Wan-IP und die ComputerIP des eigenen Computers als IpAdress-Objekt.
die entsprechende Fehlermeldung auf anderen Systemen im Debug-Modus gab folgendes aus:
Quellcode
- System.Net.Sockets.SocketException wurde nicht behandelt.
- ErrorCode=10047
- Message="Es wurde eine Adresse verwendet, die mit dem angeforderten Protokoll nicht kompatibel ist"
- NativeErrorCode=10047
- Source="System"
- StackTrace:
- bei System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
- bei System.Net.Sockets.Socket.Bind(EndPoint localEP)
- bei Fragola.Form1.sowas(Socket se1) in F:\Documents\fragola\Fragola\Fragola\Fragola\Form1.vb:Zeile 86.
- bei Fragola.Form1._Lambda$__1(Object a0) in F:\Documents\fragola\Fragola\Fragola\Fragola\Form1.vb:Zeile 96.
- bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
- bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
- bei System.Threading.ThreadHelper.ThreadStart(Object obj)
- InnerException:
gibt es eine andere Möglichkeit, Ports zu testen?
und warum gibt das hier zumindest bei Vista fehler?