Connection Problem

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Môses.

    Connection Problem

    Hallo allerseits
    Ich bin grad neu dabei VB zu lernen und habe mich durch ein Chat-Tuturial gearbeitet.
    Alles läuft auch super, solange ich es nur auf meinem PC laufen lassen will.
    Dafür verwende ich zum Finden der IP

    txtIp.Text = Winsock.LocalIP

    In dem Tutorial stand wenn ich das ganze nun über das Internet laufen lassen will, so muss ich eine andere IP angeben als die, die duch LocalIP gefunden wird. Dafür muss man einfach nur auf eine von diversen Internetseiten gehen die einem die IP anzeigt und diese dann nutzten.

    Wenn ich nun aber die IP die ich dort bekomme eingebe, connecte und eine Nachricht senden will, so bekomm ich folgenden Error:

    Laufzeitfehler 40006
    Falsche(s) Protokoll oder Verbindungszustand für die angeforderte Transaktion oder Anforderung.

    Hier noch die Codes.

    Client:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Dim DataArrived As String
    3. Private Sub cmdConnect_Click()
    4. Winsock.Connect txtIp.Text, txtPort.Text
    5. End Sub
    6. Private Sub cmdSend_Click()
    7. Winsock.SendData "Client: " & txtMsg.Text
    8. txtChat.Text = txtChat.Text & "Client: " & txtMsg.Text & vbNewLine
    9. txtMsg.Text = ""
    10. End Sub
    11. Private Sub Form_Load()
    12. txtIp.Text = Winsock.LocalIP
    13. End Sub
    14. Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
    15. Winsock.GetData DataArrived, vbString
    16. txtChat.Text = txtChat.Text & DataArrived & vbNewLine
    17. End Sub


    Server:

    Visual Basic-Quellcode

    1. Option Explicit
    2. Dim DataArrived As String
    3. Private Sub cmdSend_Click()
    4. Winsock.SendData "Server: " & txtMsg.Text
    5. txtChat.Text = txtChat.Text & "Server: " & txtMsg.Text & vbNewLine
    6. txtMsg.Text = ""
    7. End Sub
    8. Private Sub Form_Load()
    9. Winsock.Listen
    10. End Sub
    11. Private Sub Winsock_ConnectionRequest(ByVal requestID As Long)
    12. Winsock.Close
    13. Winsock.Accept requestID
    14. End Sub
    15. Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
    16. Winsock.GetData DataArrived, vbString
    17. txtChat.Text = txtChat.Text & DataArrived & vbNewLine
    18. End Sub


    Ich hab schon einiges gegoogelt, bin aber leider zu keinem Ergebnis gekommen.
    Danke im Vorraus.
    MFG

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Môses“ ()

    Hey Moses,

    welche Protocol-Eigenschaft hast Du denn in Winsock eingestellt? Wenn die Fehlermeldung "Falsche(s) Protokoll" ist, dann versuchs doch einfach mal mit dem anderen!
    mfG DHB

    Ich meine:
    :P Es sollten nur ernstzunehmende Beiträge eingestellt werden!
    :( Beiträge, die nur deren Anzahl in die Höhe treiben sollen, stehlen Lesern deren Zeit und schenken nur Frust.
    ;) Wenn ein Autor sein Thema für erledigt hält, sollte er dies kurz als letzten Eintrag vermerken.
    8) Leser wüssten dann, dass hier weitere Beiträge nicht mehr sinnvoll sind.
    Hi!

    Hast du nen Router? Wenn ja, hast du den Port im Router "aufgemacht" / weitergeleitet?
    Du kannst dir auch per Winsock-Ereignisse ausgeben lassen, in welchem (Verbindungs-)Zustand sich das Winsock gerade befindet.

    Verwende auch bitte nicht den Code-Tag, sondern den VB-Tag!