Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte (10061)

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von EugenIS.

    Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte (10061)

    Hallo Leute,

    versuche gerade eine Verbindung aufzubauen, jedes mal kommt der Fehler. Kann mir jemand helfen? (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte (10061))

    Beispiel von MS:

    VB.NET-Quellcode

    1. Shared Sub Connect(ByVal serverIP As String, ByVal message As String)
    2. Dim output As String = ""
    3. Try
    4. ' Create a TcpClient.
    5. ' The client requires a TcpServer that is connected
    6. ' to the same address specified by the server and port
    7. ' combination.
    8. Dim port As Int32 = 10045
    9. Dim client As New TcpClient(serverIP, port)
    10. ' Translate the passed message into ASCII and store it as a byte array.
    11. Dim data(255) As [Byte]
    12. data = System.Text.Encoding.ASCII.GetBytes(message)
    13. ' Get a client stream for reading and writing.
    14. ' Stream stream = client.GetStream();
    15. Dim stream As NetworkStream = client.GetStream()
    16. ' Send the message to the connected TcpServer.
    17. stream.Write(data, 0, data.Length)
    18. output = "Sent: " + message
    19. MessageBox.Show(output)
    20. ' Buffer to store the response bytes.
    21. data = New [Byte](255) {}
    22. ' String to store the response ASCII representation.
    23. Dim responseData As String = String.Empty
    24. ' Read the first batch of the TcpServer response bytes.
    25. Dim bytes As Int32 = stream.Read(data, 0, data.Length)
    26. responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
    27. output = "Received: " + responseData
    28. MessageBox.Show(output)
    29. ' Close everything.
    30. stream.Close()
    31. client.Close()
    32. Catch e As ArgumentNullException
    33. output = "ArgumentNullException: " + e.ToString()
    34. MessageBox.Show(output)
    35. Catch e As SocketException
    36. output = "SocketException: " + e.ToString()
    37. MessageBox.Show(output)
    38. End Try
    39. End Sub


    Danke im Voraus
    @EugenIS Meist kommt dieser Fehler, wenn die IP-Adresse oder das Port nicht stimmen.
    Mach vorher ein Ping. Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Mono Jou.
    @EugenIS Zuerst den Server starten, danach den Client.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Runshak schrieb:

    Port freigeben
    passiert beim Start des Servers / Clients automatisch.
    @EugenIS Welcher Rechner ist Server, welcher Client?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    EugenIS schrieb:

    Also ping geht. auch das hier:

    VB.NET-Quellcode

    1. If Not (My.Computer.Network.Ping("172.30.200.91", 10045)) Then Exit Sub


    funktioniert... Firewall ist aus. Antivirusprogramm ist aus... was kann ich noch ausschalten?


    Man kann keinen Port anpingen. Der 2. Parameter ist das Timeout. Man kann bei einem Port nur überprüfen ob er offen ist oder nicht.
    Meine Frage hast du auch nicht beantwortet. Mit was möchtest du dich verbinden?? Du kannst dich nicht einfach mit einem "PC" verbinden. Du kannst dich nur mit einem Programm verbinden welches auf dem PC läuft und an diesem Port auf eingehende Verbindungen wartet. Also was läuft das und lauscht auf Port 10045?

    Das Ganze scheint ja auch in deinem LAN zu sein, daher bin ich relativ sicher das es einfach nur nichts gibt mit dem du dich verbinden möchtest.
    Das ist meine Signatur und sie wird wunderbar sein!
    Also ich möchte mich von meinem VB Programm auf eine Bizerba Waage verbinden. Ich kann die Waage anpinnen und ich sehe die Einstellungen von der Waage. Meine IP Stelle entsprechend um. Die Verbindung ist direkt von meinem Rechner zu der Waage...
    @EugenIS

    RodFromGermany schrieb:

    Welcher Rechner ist Server, welcher Client?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ​Ich kann die Waage anpinnen und ich sehe die Einstellungen von der Waage. Meine IP Stelle entsprechend um


    Was ist anpinnen? Meinst du pingen?

    Und der 2. Satz ergibt für mich gar keinen Sinn.

    Was steht im Handbuch über die Waage. Ist da ein Port bzw Protokoll angegeben ?
    Das ist meine Signatur und sie wird wunderbar sein!
    Also es wurde von dem Vertriebgeselschaft vorab eingestellt. Mir wurden nur diese Daten übermittelt. Wie kann ich den testen wer von uns jetzt der Client und wer der Server sein sollte. Ich ging davon aus, das ich der Client bin.

    Anpingen meine ich Ping...